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