vernemq

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

易错点与排错