MQTT 브로커 비교: Mosquitto, EMQX, HiveMQ
경량 브로커 Mosquitto부터 고가용성 EMQX와 상용 HiveMQ까지 아키텍처, 성능, 보안, 클러스터링, 운영 사례를 초보자 관점에서 정리한 비교 분석 자료
목차
소개
IoT 서비스 개발에서는 MQTT 브로커 선택이 초기 설계에 큰 영향을 준다. 초보자도 이해하기 쉽도록 Mosquitto, EMQX, HiveMQ의 핵심 차이를 정리한다. 성능 지표와 운영 특성을 중심으로 실제 배포 관점에서 비교한다.
MQTT 기본 개념
브로커의 역할
브로커는 발행자(Publisher)와 구독자(Subscriber) 사이에서 메시지를 중계한다. 연결 관리, 인증·인가, 큐잉과 지속성, QoS 보장을 담당한다.
비교 시 고려 항목
- 성능(동시 연결 수, 처리량)
- 확장성(클러스터링, 샤딩)
- 프로토콜 지원(MQTT 3.1/3.1.1/5.0, WebSocket 등)
- 보안(TLS, 인증 방식, ACL)
- 운영 편의성(관리 UI, 모니터링, 로그)
- 라이선스와 비용(오픈소스 vs 상용)
브로커별 특징
Mosquitto
Mosquitto는 경량 브로커다. 리소스 소모가 적어 임베디드나 소규모 서비스에 적합하다. MQTT 3.1/3.1.1을 기본으로 하며 설정이 단순하다. 다만 고가용성 클러스터링 기능은 내장되어 있지 않아 외부 도구에 의존해야 한다.
EMQX
EMQX는 Erlang/OTP 기반으로 설계된 고성능 브로커다. 수십만에서 수백만 동시 연결을 지원하도록 최적화되어 있으며 MQTT 5.0를 포함한 최신 기능을 제공한다. 클러스터링과 장애 조치가 잘 갖춰져 있고 확장성이 뛰어나다.
HiveMQ
HiveMQ는 상용 환경에서 널리 쓰이는 브로커다. 엔터프라이즈급 지원과 관리 콘솔, 플러그인 생태계가 강점이다. 성능 역시 우수하며, 안정적인 운영을 목표로 하는 기업에 적합하다. 라이선스 비용을 고려해야 한다.
성능 비교
성능 비교는 사용 환경과 설정에 따라 달라진다. 일반적인 경향을 정리하면 다음과 같다.
- Mosquitto: 낮은 메모리와 CPU 사용으로 소규모 환경에서 유리
- EMQX: 동시 연결과 처리량에서 우수, 대규모 분산 시스템에 적합
- HiveMQ: 상용 최적화로 일관된 성능과 운영 편의성 제공
검색 키워드 관점에서 'mosquitto vs emqx 성능'을 확인하면, 벤치마크 결과는 하드웨어와 메시지 크기, QoS 레벨에 민감하다. 실제 성능 테스트는 운영 환경을 모사해 수행해야 신뢰할 수 있다.
배포·운영 및 확장성
클러스터링
- Mosquitto: 기본 클러스터 지원이 제한적이므로 HA를 위해 HAProxy나 Kubernetes 같은 외부 솔루션 필요
- EMQX: 네이티브 클러스터 지원과 자동 재분배 기능 제공
- HiveMQ: 클러스터링과 데이터 재배치 기능이 성숙되어 있어 대규모 운영에 적합
운영 편의성
모니터링, 로그 분석, 관리 UI 제공 여부가 운영 비용에 큰 영향을 준다. HiveMQ와 EMQX는 관리 콘솔을 통해 운영을 쉽게 한다. Mosquitto는 경량이므로 별도 모니터링 스택 구성 필요가 많다.
보안과 인증
- TLS: 세 브로커 모두 TLS를 지원한다.
- 인증·인가: Mosquitto는 파일 기반 또는 플러그인 방식, EMQX와 HiveMQ는 플러그인과 외부 인증 연동 지원이 풍부하다.
- ACL: 주제 기반 접근 제어를 제공하나 구현 방식이 다르므로 요구사항에 맞춰 확인 필요
실제 적용 시 고려사항
- 요구 동시 연결 수와 처리량을 먼저 산정한다.
- 운영 인력과 관리 도구 활용 가능 여부를 따진다.
- 클러스터링과 장애 복구 전략을 미리 설계한다.
- 라이선스와 비용 구조를 비교해 장기 운영 비용을 예측한다.
간단한 시작 예제
로컬에서 빠르게 테스트할 때 유용한 Docker 명령 예시이다.
docker run -d --name mosquitto -p 1883:1883 eclipse-mosquitto
docker run -d --name emqx -p 1883:1883 -p 8083:8083 emqx/emqx
docker run -d --name hivemq -p 1883:1883 hivemq/hivemq4
결론
세 브로커는 목적과 규모에 따라 강점이 다르다. 소형·임베디드 환경에는 Mosquitto가 적합하다. 대규모 실시간 서비스와 확장성이 중요하면 EMQX가 좋은 선택이다. 기업 지원과 관리 효율이 우선이라면 HiveMQ가 유리하다. 'hivemq vs emqx 비교'나 'mqtt 브로커 비교 가이드' 같은 키워드로 추가 자료를 찾아보고, 실제 워크로드로 벤치마크를 진행하는 것이 최종 결정에 도움이 된다.