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에 연락하여 문의하십시오.

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

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required