Appearance
FreeMQTT plus 概述
FreeMQTT plus是对单机版FreeMQTT扩展而成的 MQTT Broker集群实现。
首创独一无二的黑白(A/B)节点架构。
彻底克服 Python 多线程 GIL 问题。
根据CPU内核数,配置单机上的 FreeMQTT plus A/B 节点数,充分发挥多核CPU效能。
经过一年多的严格测试表明,FreeMQTT plus 具有与单机版 FreeMQTT 同样的鲁棒和高效性。
版本变动
- 当前最新版本是 v260519,相对第一个版本 v250209 主要对在 docker 下部署进行改善,摒弃了docker compose up 部署,改为 docker swarm 方式部署。
- 2025年2月9日发布首个 FreeMQTT plus 版本 v250209。
基本构成
- 黑节点(A Node) 即 MQTT Broker, 具有和其他节点组成集群的能力。
- 白节点(B Node) 是连接各个黑节点,起着消息路由功能,对客户端是不可见的。
- 日志节点(L Node)是汇集黑白(A/B)节点日志的(可选)。
- Nginx 负载均衡器(可选)。
架构图

- A/B节点不分主从,无单点故障风险
- A节点之间通过B节点相互通讯同步
- B节点相互独立,只与A节点连接
- 可以把全部B节点集合抽象成一条连接A节点的通讯总线: FreeMQTT BUS
- A与B节点间的通讯只依赖 MQTT5,无需任何第三方协议与组件
- NGINX 均衡器是可选的,也可以由 docker swarm ingress 直接暴露相应的服务端口
