로드 밸런싱은 네트워킹을 위한 개방형 시스템 간 상호 연결(OSI) 참조 모델의 다양한 레이어에서 수행할 수 있습니다. 여기에서는 모델의 서로 다른 두 레이어에서 두 가지 로드 밸런싱 옵션에 대한 개요를 제공합니다.
레이어 4 로드 밸런싱은 메시지 콘텐츠와 관계없이 메시지 전송을 처리하는 중간 전송 레이어에서 작동합니다. TCP(Transmission Control Protocol)는 인터넷에서 Hypertext Transfer Protocol(HTTP) 트래픽을 위한 레이어 4 프로토콜입니다. 레이어 4 로드 밸런서는 패킷의 콘텐츠를 검사하지 않고 단순히 업스트림 서버와 네트워크 패킷을 주고 받습니다. TCP 스트림의 처음 몇 패킷을 검사하여 제한된 라우팅 결정을 내릴 수도 있습니다.
레이어 7 로드 밸런싱은 각 메시지의 실제 콘텐츠를 처리하는 상위 애플리케이션 레이어에서 작동합니다. HTTP는 인터넷에서 웹사이트 트래픽을 위한 주요 레이어 7 프로토콜입니다. 레이어 7 로드 밸런서는 레이어 4 로드 밸런서보다 더 정교한 방식으로 네트워크 트래픽을 라우팅하며, 특히 HTTP 같은 TCP 기반 트래픽에 적용됩니다. 레이어 7 로드 밸런서는 네트워크 트래픽을 종료하고 내부 메시지를 읽습니다. 그런 다음, 메시지 콘텐츠(예: URL 또는 쿠키)에 따라 로드 밸런싱 결정을 내릴 수 있으며, 선택한 업스트림 서버에 새 TCP 연결을 만들거나 HTTP keepalive를 통해 기존 서버를 재사용하고 요청 내용을 서버에 기록합니다.
레이어 7 로드 밸런싱은 패킷 기반 레이어 4 로드 밸런싱보다 CPU를 많이 사용하지만 최신 서버에서는 성능 저하를 거의 일으키지 않습니다. 레이어 7 로드 밸런싱을 사용하면 로드 밸런서가 더 스마트하게 로드 밸런싱 결정을 내리고 콘텐츠에 최적화 및 변경 사항(예: 압축 및 암호화)을 적용할 수 있습니다. 또한 버퍼링을 사용하여 업스트림 서버에서 느린 연결을 오프로드하면 성능이 향상됩니다.
레이어 7 로드 밸런싱을 수행하는 디바이스를 흔히 역방향 프록시 서버라고 합니다.
간단한 예를 살펴보겠습니다. 사용자가 트래픽이 많은 웹사이트를 방문합니다. 사용자 세션 동안 이미지 또는 동영상과 같은 정적 콘텐츠, 뉴스 피드와 같은 동적 콘텐츠, 심지어 주문 상태와 같은 거래 정보까지 요청할 수 있습니다. 레이어 7 로드 밸런싱을 통해 로드 밸런서는 요청 자체의 정보(요청되는 콘텐츠 종류 등)에 따라 요청을 라우팅할 수 있습니다. 따라서 이제는 이미지 또는 동영상에 대한 요청을 저장하고 멀티미디어 콘텐츠를 제공하도록 고도로 최적화된 서버로 이미지 또는 동영상을 라우팅할 수 있습니다. 할인된 가격과 같은 거래 정보에 대한 요청은 가격 관리를 담당하는 애플리케이션 서버로 라우팅될 수 있습니다. 레이어 7 로드 밸런싱을 사용하면 네트워크 및 애플리케이션 설계자가 안정적이고 효율적으로 확장되어 수요를 충족하는 고도로 조정되고 최적화된 서버 인프라 또는 애플리케이션 딜리버리 네트워크를 구축할 수 있습니다.
NGINX Plus와 NGINX는 Dropbox, Netflix, Zynga 등과 같이 트래픽이 많은 웹사이트에서 사용되는 동급 최고의 로드 밸런싱 솔루션입니다. 전 세계 3억 5천만개 이상의 웹사이트가 콘텐츠를 빠르고 안정적이며 안전하게 제공하기 위해 NGINX Plus와 NGINX Open Source를 사용하고 있습니다.
소프트웨어 기반 로드 밸런서인 NGINX Plus는 비슷한 기능을 갖춘 하드웨어 기반 솔루션보다 비용이 훨씬 덜 듭니다. NGINX Plus의 포괄적인 로드 밸런싱 기능을 사용하면 고도로 최적화된 애플리케이션 딜리버리 네트워크를 구축할 수 있습니다.
서버 팜의 전면에 로드 밸런서로 NGINX Plus를 삽입하면 전체 웹사이트의 효율성, 성능, 신뢰성 및 확장성이 향상됩니다. NGINX Plus는 고객 만족도와 IT 투자 수익을 모두 극대화할 수 있도록 도와줍니다.