[ EMQX ] 로드 밸런서

2025. 5. 28. 18:45EMQX

반응형

로드 밸런서 구성

로드 밸런서는 네트워크 구성 요소 간의 트래픽을 분산시켜 리소스 사용을 최적화하고, 과부하로 인한 시스템 오류를 방지합니다.

 

※ LB: 로드밸런서

LB는 EMQX의 필수 구성 요소는 아니지만, 몇 가지 시스템 이점을 제공합니다.

  • EMQX의 부하를 분산하여 단일 노드 과부하를 방지합니다.
  • 클라이언트는 로드 밸런서(LB)만 연결하면 되므로 구성 과정이 간소화되며, 클러스터의 확장성은 신경 쓸 필요가 없습니다.
  • TLS/SSL 종료를 통해 EMQX 클러스터의 부하를 줄입니다.
  • LB가 클러스터의 앞단에 설정되면, 원치 않는 트래픽을 차단하여 EMQX 클러스터를 외부 공격으로부터 보호할 수 있습니다.

 

 

아키텍처

TCP 로드 밸런서

출처: https://docs.emqx.com/en/emqx/latest/deploy/cluster/lb.html

 

LB는 수신 TCP 트래픽을 처리한 후 수신된 EMQX 연결 요청과 메시지를 여러 EMQX 노드로 분산합니다.

 

TLS 종료 및 로드 밸런서

출처: https://docs.emqx.com/en/emqx/latest/deploy/cluster/lb.html

 

SSL/TLS가 활성화된 경우, LB에서 SSL/TLS 연결을 종료하는 것을 권장합니다.

 

클라이언트와 LB 사이의 연결은 SSL/TLS로 보안을 유지하고,
LB와 EMQX 노드 간에는 일반 TCP 연결을 사용함으로써 EMQX 클러스터의 성능을 극대화할 수 있습니다.

 

하이브리드

출처: https://docs.emqx.com/en/emqx/latest/deploy/cluster/lb.html

 

LB가 TLS 종료를 지원하지 않거나 프록시 프로토콜과 같은 특정 TLS 기능이 부족한 경우

EMQX 앞단에 HAProxy 또는 NGINX를 배치하는 하이브리드 아키텍처를 선택할 수 있습니다.

이 방법은 EMQX가 직접 TLS 연결을 처리하는 것보다 더 나은 성능 이점을 얻을 수 있습니다.

 

또한, DNS 라운드로빈을 사용하여 클러스터에 직접 연결하는 방법도 있습니다.

이 방법은 모든 노드를 DNS 라운드로빈 목록에 추가하고, 장치는 도메인 이름이나 IP 주소 목록을 통해 클러스터에 접근합니다.

⚠️ DNS 라운드로빈은 운영 환경에서는 일반적으로 권장되지 않습니다.

반응형

'EMQX' 카테고리의 다른 글

[ EMQX ] EMQX 클러스터 with HAProxy  (0) 2025.06.30
[ EMQX ] EMQX 클러스터링  (1) 2025.05.28