Skip to content

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 直接暴露相应的服务端口