VerneMQ MQTT Broker
VerneMQ 是基于 Erlang/OTP 的分布式 MQTT Broker,强调水平扩展和集群能力。适合需要多节点、共享订阅和大规模连接的 IoT 平台。
Docker 启动:
docker run -d --name vernemq \
-p 1883:1883 -p 8883:8883 -p 8888:8888 \
-e DOCKER_VERNEMQ_ACCEPT_EULA=yes \
-e DOCKER_VERNEMQ_ALLOW_ANONYMOUS=off \
vernemq/vernemq
查看集群状态:
vmq-admin cluster show
vmq-admin node status
vmq-admin listener show
加入集群:
vmq-admin cluster join discovery-node=VerneMQ@node1
查看会话和订阅:
vmq-admin session show
vmq-admin topic show
创建用户(配合 vmq_passwd):
vmq-passwd -c /etc/vernemq/vmq.passwd app
配置 HTTP 认证:
vmq-admin webhooks register hook=auth_on_register \
endpoint=http://auth-service:8080/mqtt/auth
localhost,其他节点无法发现。max_inflight_messages 相关错误通常是消费端确认太慢。