Node.js 애플리케이션 로드 밸런싱

NGINX는 NGINX 및 NGINX Plus를 사용하여 Node.js 애플리케이션 서버 풀에서 HTTP 및 HTTPS 트래픽 부하를 분산하기 위한 전체 배포 가이드를 만들었습니다.

Node.js는 Open Source로 cross-platform JavaScript 런타임 환경입니다. 애플리케이션의 설계, 개발 및 배포에 대한 민첩하고 모듈 중심의 확장 가능한 접근 방식을 제공합니다.

이 Node.js 부하 분산 가이드는 온프레미스(On-premise) 및 클라우드 기반 Node.js 배포에 모두 적용됩니다. SSL/TLS 인증서 사용, HTTP 및 HTTPS 트래픽에 대한 기본 로드 밸런싱, 기본 세션 지속성, 콘텐츠 캐싱 및 HTTP/2로 시작합니다.

이 포스트는 계속해서 고급 세션 지속성, 애플리케이션 상태 확인, 실시간 활동 모니터링, upstream 그룹의 즉각적인 재구성 등의 기능을 사용하여 NGINX Plus로 향상된 Nodejs 로드 밸런싱에 대해 설명합니다.

목차

1. Node.js 의 모범 사례
2. 추가 리소스

1. Node.js 의 모범 사례

Node.js 애플리케이션 서버 로드 밸런싱의 첫 번째 단계는 NGINX 또는 NGINX Plus를 실행하는 서버 앞에 리버스 프록시 서버를 배치하는 것입니다. 애플리케이션 서버를 프록싱하면 다음과 같은 많은 이점이 있습니다.

  • 인터넷 트래픽에 대한 직접적인 노출로부터 Node.js 서버 보호
  • 여러 애플리케이션 서버를 유연하게 사용할 수 있습니다.
  • SSL/TLS 및 HTTP/2 구현 허용
  • 프록시에서 캐싱을 활성화하여 성능 향상
  • 기본 및 고급 로드 밸런싱 알고리즘으로 로드 밸런싱 활성화

그러나 Nodejs 로드 밸런싱은 까다롭습니다. Node.js는 웹 브라우저에서 실행되는 JavaScript 코드와 Nodejs 애플리케이션 서버에서 실행되는 JavaScript 코드 간의 높은 수준의 상호 작용을 허용합니다. 이 진행 중인 상호 작용을 지원하려면 지정된 클라이언트 세션이 특정 애플리케이션 서버에서 계속 실행되어야 합니다. 이를 위해서는 NGINX Open Source로 달성할 수 있는 세션 지속성이 필요하지만, 배포 가이드에 설명된 대로 NGINX Plus의 세션 지속성 기능을 사용하면 더 쉽게 달성할 수 있습니다.

WebSocket에는 강력한 JavaScript 인터페이스가 있기 때문에 Node.js와 WebSocket 프로토콜은 자연스러운 파트너입니다. WebSocket API인 Socket.IO도 자주 혼합됩니다. 거래량이 보통일 때 Node.js는 웹 서버 역할도 할 수 있습니다. 그러나 트랜잭션 볼륨이 증가하면 NGINX Plus를 리버스 프록시로 사용하면 캐싱 및 로드 밸런싱을 활성화하여 애플리케이션 서버의 부하를 줄이는 데 도움이 될 수 있습니다.

또한 NGINX Plus는 Node.js 및 Socket.IO, WebSocket API와 함께 NGINX 및 NGINX Plus 사용에 설명된 대로 Socket.IO 서버를 프록시 합니다. 이렇게 하면 사용량이 많은 앱의 통신 요구를 위해 단일 포트(HTTP용 포트 80 또는 HTTPS용 포트 443)에 대한 의존성을 방지할 수 있습니다. 대신 NGINX Plus는 여러 애플리케이션 서버에 트래픽을 전달할 수 있습니다.

이 모든 것이 배포 가이드에 설명되어 있습니다. Nodejs 애플리케이션의 성능, 안정성 및 규모를 개선하기 위해 작업할 때 이 자료가 유용하기를 바랍니다.

2. 추가 리소스

이 가이드는 Node.js와 NGINX를 함께 사용하는 데에 도움이 되는 다른 리소스들과 함께 제공됩니다.

이 가이드를 만드는 데 도움을 준 NodeSource의 친구들에게 감사드립니다. NodeSource는 완벽하게 호환되는 Node.js 런타임인 N|Solid의 제작자이며 엔터프라이즈 요구 사항을 충족하도록 향상되었습니다. NodeSource는 또한 N|Solid와 Node.js를 모두 지원합니다.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.

사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.