MQTT 로드밸런싱 해보기
백엔드
MQTT 로드밸런싱 해보기
두줄요약
MQTT 로드밸런싱 가능 여부와 방법을 Nginx와 Shared Subscription 관점에서 살펴보았습니다. 브로커 분산은 프록시로, 클라이언트 분산은 MQTT 5 공유 구독으로 구성했습니다.
핵심 내용
- MQTT에서 로드밸런싱이 가능한지와 적용 방법을 Nginx 프록시와 MQTT 5 Shared Subscription 관점에서 정리
- 브로커는 Nginx
stream기반 upstream으로 분산 가능하나, 클라이언트는 TCP 프로토콜 특성상 HTTP식 경로 라우팅이 불가 - MQTT 5의
$share/{group name}/{topic}형식으로 구독하면 여러 클라이언트가 메시지를 나눠 수신하는 분산 처리 구현 가능
