피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 22.21.0 LTS가 환경 변수 기반 프록시, HTTP 업그레이드 제어, 메모리 크기 퍼센트 설정 등 4개 SEMVER-MINOR 기능 추가
Node.js 22.21.0 (LTS)
AI 요약
Technical Solution
- CLI에
--use-env-proxy플래그 추가: 환경 변수 기반 프록시 설정 자동화 - fetch 요청에 NODE_USE_ENV_PROXY 환경 변수 지원: HTTP 프록시를 fetch 작업에 적용
- http/https 모듈에 내장 프록시 지원: http.request() 및 Agent에 프록시 기능 통합
- shouldUpgradeCallback 콜백 추가: HTTP 업그레이드 요청에 대한 서버 측 제어 기능
--max-old-space-size에 퍼센트 단위 지원: V8 힙 메모리를 절댓값 대신 전체 메모리의 비율로 할당- OpenSSL을 3.5.4로 업데이트: 보안 및 호환성 개선
- npm을 10.9.4로 업데이트: 패키지 관리 기능 강화
- undici를 6.22.0으로 업데이트: Fetch 구현 개선
- crypto 모듈 리팩토링: Promise 반환 함수에서 async/await 구조 적용
- dgram 모듈 최적화: fixBufferList의 버퍼 최적화 복구
- diagnostics_channel 버그 수정: GC와의 경합 조건(race condition) 해결
- fs 모듈 Windows 개선: readdir에서 중복 trailing slash 제거
- inspector 메모리 관리: Binary::toBase64 메모리 할당 개선
- 모듈 시스템 확장: ModuleWrap의 linked requests 오버라이딩 허용
- node-api SharedArrayBuffer 지원: napi_create_external_arraybuffer 추가
- 문서 안정화: .env 파일 지원을 안정(stable) 상태로 마크
Key Takeaway
Node.js 22 LTS는 프록시 설정 자동화와 메모리 할당 유연성으로 엔터프라이즈 배포 시나리오를 강화하면서, crypto와 diagnostics 계층의 안정성을 개선한 버전이다.
실천 포인트
컨테이너 환경에서 Node.js 애플리케이션을 운영할 때, NODE_USE_ENV_PROXY 환경 변수를 설정하면 별도의 코드 변경 없이 프록시 자동 설정이 가능하며, --max-old-space-size를 퍼센트로 지정(예: 80%)하면 컨테이너 메모리 제한에 따른 OOMKill 위험을 사전에 방지할 수 있다.