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

Node.js 13.9.0이 async_hooks, crypto, worker 기능 확대 및 buffer, crypto 성능 최적화로 런타임 역량 강화

Node.js 13.9.0 (Current)

2020년 2월 18일12intermediate

Technical Solution

  • async_hooks에 executionAsyncResource API 추가: 비동기 작업의 실행 컨텍스트 리소스 직접 접근 가능
  • crypto 모듈 확장: DH(Diffie-Hellman) 지원 추가, generateKeyPair에 DH 키 생성 기능 통합, crypto.diffieHellman 메서드 신규 구현
  • perf_hooks에 GCPerformanceEntry 플래그 추가: 가비지 컬렉션 성능 데이터 상세화
  • process.memoryUsage()에 ArrayBuffer 메모리 별도 리포팅: 메모리 사용량 추적 정확도 향상
  • readline 모듈 탭 크기 설정 가능: 텍스트 입출력 UI 커스터마이징 지원
  • worker 스레드에서 부모 스레드를 통한 힙 스냅샷 생성: 멀티 스레드 환경의 메모리 프로파일링 가능화
  • report 기능 확대: Worker 스레드 상태 보고서 작성 지원
  • buffer 성능 최적화: from(), concat(), fill(number) 메서드 연산 속도 개선
  • crypto randomBytes() 성능 개선
  • npm을 6.13.7로 업그레이드
  • libuv를 1.34.2로 업그레이드
  • uvwasi를 0.0.5로 업데이트
  • zlib 구현을 Chromium 버전으로 전환

Key Takeaway

Node.js의 단계적 마이너 버전 릴리스는 기존 API의 점진적 확장(DH 암호화, async 리소스 추적)과 저수준 성능 최적화(buffer, crypto)를 병행하여 안정성을 유지하면서 기능을 고도화하는 설계 원칙을 보여준다.


Node.js 환경에서 비동기 작업의 실행 컨텍스트를 추적해야 하는 APM, 디버깅 도구 개발자는 executionAsyncResource API를 활용하여 런타임 스택 추적 정확도를 향상시킬 수 있다. 또한 암호화 통신을 구현하는 팀은 새로 추가된 DH 키 생성 기능으로 키 교환 로직을 표준화할 수 있다.

원문 읽기