피드로 돌아가기
Node.js 9.3.0 (Current)
Node.js BlogNode.js Blog
Backend

Node.js가 v9.3.0 릴리스로 async_hooks 트레이스 이벤트, libuv 1.18.0 업그레이드, N-API 이벤트 루프 헬퍼 추가로 비동기 작업 모니터링 및 네이티브 애드온 개발 기능 강화

Node.js 9.3.0 (Current)

2017년 12월 12일5intermediate

Context

Node.js 애플리케이션에서 비동기 작업의 생명주기를 추적하고 모니터링하기 위한 기능이 제한적이었으며, 네이티브 애드온 개발자들이 이벤트 루프에 접근하기 위한 표준 방법이 부재했다.

Technical Solution

  • async_hooks에 trace events 추가: 비동기 리소스의 생명주기 이벤트를 추적 가능하도록 구현 (Andreas Madsen #15538)
  • async_wrap에 net server용 provider types 추가: 네트워크 서버의 비동기 작업을 더 세분화하여 분류 (Andreas Madsen #17157)
  • N-API에 이벤트 루프 접근 헬퍼 추가: 네이티브 애드온이 표준화된 방식으로 이벤트 루프 인스턴스를 획득 가능 (Anna Henningsen #17109)
  • Node::CreatePlatform을 embedders에 공개: Node.js 런타임을 임베드할 때 NodePlatform 인스턴스 생성 가능 (Cheng Zhao #16981)
  • module.builtinModules 추가: 런타임에 빌트인 모듈 목록을 프로그래밍 방식으로 조회 가능 (Jon Moss #16386)
  • libuv 1.18.0으로 업그레이드: 기본 라이브러리의 안정성 및 성능 개선 (cjihrig #17282)
  • V8 패치를 6.2.414.46으로 업데이트: 자바스크립트 엔진의 성능 최적화 반영 (Myles Borins #17206)

Impact

아티클에 정량적 성능 수치가 명시되지 않음.

Key Takeaway

Node.js 9.3.0은 비동기 작업의 가시성을 향상시키는 async_hooks 강화와 네이티브 애드온 개발의 표준화(N-API)에 중점을 두었으며, 이는 프로덕션 환경에서 성능 모니터링과 에코시스템 확장성을 동시에 개선하는 설계 방향을 보여준다.


Node.js 기반 애플리케이션 개발 팀에서 async_hooks의 trace events를 활용하면 비동기 작업의 초기화, 콜백 실행, 정리 단계를 세밀하게 추적할 수 있으며, N-API의 이벤트 루프 헬퍼를 통해 네이티브 애드온 개발 시 플랫폼 의존성을 줄이고 표준 인터페이스를 따를 수 있다.

원문 읽기