Apache Tomcat 을 NGINX로 로드 밸런싱하기

NGINX 오픈소스 및 NGINX Plus는 일반적으로 Apache Tomcat 을 비롯한 많은 애플리케이션 서버의 로드 밸런서 역할을 하여 성능과 내결함성을 향상시키는 데 사용됩니다.

해당 포스트에서는 NGINX 및 NGINX Plus를 Apache Tomcat 애플리케이션 서버용 로드 밸런서 및 애플리케이션 제공 컨트롤러 (ADC, Application Delivery Controller)로 시작하는 방법을 설명합니다.

목차

1. 왜 NGINX와 NGINX Plus인가?
2. Apache Tomcat 서버에서 NGINX 시작하기

1. 왜 NGINX와 NGINX Plus인가?

많은 Apache Tomcat 배치는 Tomcat 설치 지침 에 지정된 대로 애플리케이션 제공을 위해 Apache HTTP Server를 사용합니다 . Apache HTTP Server의 연결당 스레드 아키텍처는 낮음 에서 중간 정도의 로드에서 수용 가능한 성능을 제공 하지만 로드가 많을 때는 아키텍처의 한계가 드러나기 시작합니다. 한 가지 일반적인 시나리오에서 많은 수의 동시 연결이 있을 때 스레드 풀이 고갈되어 스레드가 해제될 때까지 새 연결 수락이 지연됩니다. 이와 같은 문제는 HTTP Server의 적은 수의 로드 밸런싱 구성 옵션과 함께 트래픽이 많은 애플리케이션 서버 배포에서 로드 밸런서로서의 유용성을 제한합니다.

NGINX는 비동기 작업을 사용하여 스레드의 오버헤드 없이 높은 동시성을 달성함으로써 HTTP 서버의 성능 제한을 제거합니다. 이 아키텍처를 통해 매우 작은 메모리 설치 공간을 사용하여 많은 수의 동시 연결을 확장하고 처리할 수 있습니다. NGINX는 성능과 확장성 외에도 애플리케이션에 다음과 같은 다양한 이점을 제공합니다.

  • Event-driven 아키텍처 – NGINX는 WebLogic 서버가 자체적으로 제공하는 것보다 트래픽 급증 및 DOS 공격에 대해 훨씬 뛰어난 확장성과 복원력을 제공합니다.
  • HTTP/2 지원 – NGINX는 HTTP/1.1보다 향상된 성능을 제공하는 HTTP/2 프로토콜을 지원합니다.
  • 로드 밸런싱 – NGINX의 다양한 로드 밸런싱 알고리즘을 통해 Apache Tomcat 애플리케이션을 스케일아웃하고 고가용성을 유지할 수 있습니다.
  • SSL/TLS Termination – NGINX는 SSL/TLS 연결을 종료하여 Apache Tomcat 애플리케이션 서버에서 해당 작업을 오프로드할 수 있습니다.
  • 캐싱 – NGINX는 정적 및 동적 콘텐츠 모두에 대해 매우 강력한 캐쉬 역할을 하므로 애플리케이션 성능이 크게 향상됩니다.

또한 향상된 상업적 지원 제품인 NGINX Plus는 NGINX를 기반으로 추가 엔터프라이즈 지원 기능을 제공합니다.

  • 애플리케이션 Health checks – 애플리케이션 서버를 사전에 모니터링하고 비정상 서버에 대한 요청 전송을 중지합니다.
  • 세션 지속성 – SESSIONID 쿠키를 활용하여 사용자의 요청이 매번 동일한 애플리케이션 서버로 전달되도록 합니다.
  • 로드 밸런싱된 서버의 동적 재구성 – DNS(Domain Name System) 또는 간단한 HTTP API를 사용하여 로드 밸런싱된 서버 그룹을 즉석에서 재구성할 수 있습니다.
  • Live Activity 모니터링 – NGINX Plus에는 주요 부하 및 성능 지표를 제공하는 Live Activity 모니터링 인터페이스가 있습니다.

2. Apache Tomcat 서버에서 NGINX 시작하기

NGINX를 애플리케이션 서버와 함께 사용하려면 NGINX STORE의 HTTP Load Balancing 문서를 참고하세요. NGINX를 구성하여 서버를 효율적으로 로드 밸런싱하고 확장하기 위한 단계별 지침을 제공합니다.

Tomcat은 경험했지만 NGINX Plus는 처음이신가요? 무료 30일 평가판을 이용 하거나 NGINX STORE에 문의하여 사용 사례에 대해 논의 하고 NGINX가 Tomcat 애플리케이션의 성능과 관리 용이성을 어떻게 향상시킬 수 있는지 직접 확인하십시오.

아래 뉴스레터를 구독하여 NGINX의 최신 소식을 빠르게 확인할 수도 있습니다.