十分钟部署一个 MQTT Broker 集群

简介: FreeMQTT Plus是首创A/B节点架构的MQTT Broker集群,支持Docker Swarm一键部署,10分钟内可完成集群搭建。它充分利用多核CPU,兼具单机版的鲁棒性与高效性,适用于高并发IoT场景。(239字)

很多用户会对部署集群服务感到有点怵,其实没那么难,很容易,甚至比单机版部署还容易。 本文教你如何在十分钟内部署一个 MQTT Broker 集群 —— FreeMQTT plus

FreeMQTT plus 概述

FreeMQTT plus是对单机版FreeMQTT扩展而成的 MQTT Broker集群实现。 首创黑白(A/B)节点架构。 根据CPU内核数,配置单机上的 FreeMQTT plus A/B 节点数,充分发挥多核CPU效能。 一年多的严格测试表明,FreeMQTT plus 具有与单机版 FreeMQTT 同样的鲁棒和高效性。

基本构成

  • 黑节点(A Node) 即 MQTT Broker, 具有和其他节点组成集群的能力。
  • 白节点(B Node) 是连接各个黑节点,起着消息路由功能,对客户端是不可见的。
  • 日志节点(L Node)是汇集黑白(A/B)节点日志的(可选)。
  • Nginx 负载均衡器(可选)。

环境

  • Linux OS / x86_64
  • Docker 28.0.4+

实操

  1. 拉取 FreeMQTT plus Docker Image
$ docker pull registry.freemqtt.cn/freemqttplus:v260519
  1. 拉取 Nginx Docker Image (可选)
$ docker pull nginx:latest
  1. 克隆 FreeMQTT plus docker stack YAML 脚本
$ git clone git@gitee.com:ningchenglin/freemqtt-swarm-compose.git
  1. 创建 Docker Swarm 集群
# 把 192.168.1.100 替换为你的管理节点内网IP
$ docker swarm init --advertise-addr 192.168.1.100
  1. 创建FreeMQTT plus Docker Swarm 配置
$ cd ./freemqtt-swarm-compose
$ ./create-config.sh
  1. 启动 freemqttplus 集群

直接暴露 docker swarm 集群服务端口 1883、8883 给外网

$ docker stack deploy -c docker-swarm-compose.yml freemqtt

或用nginx 作为反向代理对外网提供 MQTT 服务

$ docker stack deploy -c docker-swarm-compose-with-nginx.yml freemqtt

注意:上面两个命令只能二选一。

  1. 查看FreeMQTT plus 集群服务状况
$ docker stack services freemqtt
# 屏幕输出如下:
ID             NAME             MODE         REPLICAS   IMAGE                                       PORTS
e32nijw41cuy   freemqtt_anode   replicated   3/3        registry.freemqtt.cn/freemqttplus:v260519   *:1883->1883/tcp, *:8080->80/tcp, *:8443->443/tcp, *:8883->8883/tcp
j61g4chdwtjc   freemqtt_bnode   replicated   2/2        registry.freemqtt.cn/freemqttplus:v260519
  1. 查看全部A节点运行状况
$ docker service ps freemqtt_anode
# 屏幕输出如下:
ID             NAME               IMAGE                                       NODE              DESIRED STATE   CURRENT STATE         ERROR     PORTS
yqr2al6t6ila   freemqtt_anode.1   registry.freemqtt.cn/freemqttplus:v260519   lavm-8td4x375v6   Running         Running 4 hours ago
vc1yjcf60a5m   freemqtt_anode.2   registry.freemqtt.cn/freemqttplus:v260519   lavm-8td4x375v6   Running         Running 4 hours ago
tdw3zql8m1zb   freemqtt_anode.3   registry.freemqtt.cn/freemqttplus:v260519   lavm-8td4x375v6   Running         Running 4 hours ago
  1. 查看全部B节点运行状况
$ docker service ps freemqtt_bnode
# 屏幕输出如下:
ID             NAME               IMAGE                                       NODE              DESIRED STATE   CURRENT STATE         ERROR     PORTS
vy1qm3n0m6c8   freemqtt_bnode.1   registry.freemqtt.cn/freemqttplus:v260519   lavm-8td4x375v6   Running         Running 4 hours ago
91evrko76n5j   freemqtt_bnode.2   registry.freemqtt.cn/freemqttplus:v260519   lavm-8td4x375v6   Running         Running 4 hours ago


相关文章
|
25天前
|
人工智能 分布式计算 安全
GPT-5.6 Sol & Subagent 不但聪明,更会分工
不需要什么都用 Sol Ultra,SugAgents 帮你按需调用最合适的模型,省钱又省心!!!
190 1
|
23天前
|
数据采集 人工智能 缓存
为什么你的推荐系统越做越“笨”?一文讲透电商个性化推荐全链路:从召回到在线排序
为什么你的推荐系统越做越“笨”?一文讲透电商个性化推荐全链路:从召回到在线排序
202 3
|
25天前
|
SQL 人工智能 架构师
GPT-5.6 Sol、Terra、Luna 怎么选?听我一句,别一上来就用最贵的
本文详解GPT-5.6三大模型(Luna/Terra/Sol)的差异化定位:Luna适合批量简单任务,Terra是日常开发写作的性价比首选,Sol专攻高成本、强推理的复杂攻坚。倡导“按需选模”,而非盲目追求最强——AI使用成熟度,正体现在懂得何时省、何时投。(239字)
721 2
|
2月前
|
人工智能 小程序 程序员
Skill详解(2万字详细教程),Skills是什么,如何安装并使用Skills
AI时代必备技能!Skills(智能体技能)是Anthropic提出的可复用能力包,以文件夹形式封装指令、脚本与资源,实现“按需加载”,大幅节省Token。它让大模型从聊天工具升级为专业助手——非技术岗也能零代码快速上手,真正实现人人可用、岗岗必备。
9420 13
Skill详解(2万字详细教程),Skills是什么,如何安装并使用Skills
|
25天前
|
存储 网络协议 中间件
FreeMQTT Plus 黑白节点(A/B)架构:如何提升可靠性 + 可扩展性
FreeMQTT Plus 是一个MQTT Broker 集群的实现 • 首创黑白(A/B)节点架构。 • FreeMQTT plus 是用Python语言并基于Tornado框架开发的。 本文阐述这种黑白(A/B)节点架构是如何提升MQTT Broker集群的可靠性、可扩展性。
|
25天前
|
安全 Shell 开发工具
Hawa Code Hands 远程开发 coding agent “脑体”分离
Hawa Code 支持“脑体分离”架构:Agent(模型)与工具解耦,工具在安全沙箱中远程执行。提供内置/独立两种 MCP 服务,支持 Bash、Read、Edit、Grep 等十余种标准化远程开发工具,专注高效、安全的远程代码协作。(239字)
76 3
Hawa  Code  Hands 远程开发 coding agent “脑体”分离
|
25天前
|
人工智能 安全 搜索推荐
从安全意识培训到一体化数字人力安全行为协同管控研究
本文提出人机一体化数字人力安全治理框架,破解传统静态培训失效与AI智能体提示注入(EchoLeak)攻击防护盲区。融合艾宾浩斯遗忘曲线与福格行为模型,构建“人类风险评估—提示注入检测—统一风险评分—动态干预”四层协同体系,提供轻量级Python实现,并依托闭环运营实现事前塑造、事中管控、事后迭代。
70 2
|
16天前
|
缓存 JSON API
DeepSeek-V4全解析:Flash/Pro双版本计费、性能差异与API实战调用教程
当前行业内超长上下文大模型的使用门槛长期居高不下,要么推理速度迟缓难以支撑实时业务,要么调用成本高昂无法大规模落地,DeepSeek-V4系列采用双版本差异化策略,同步推出deepseek-v4-flash与deepseek-v4-pro两款MoE架构模型,分别瞄准轻量化高频业务、复杂深度推理两大核心赛道,全系标配100万Token超长上下文窗口,将百万级长文本处理能力下放至普通开发者与中小企业,彻底打破长上下文模型的使用壁垒。
708 4
|
20天前
|
机器学习/深度学习 编解码 人工智能
钢材表面缺陷目标检测数据集:6类别 | 目标检测
本数据集含6000张真实工业场景钢材图像,涵盖裂纹、夹杂、斑块、麻面、氧化皮压入、划痕6类缺陷,YOLO格式标注,适配YOLOv5/v8/v11等主流模型,专为钢铁质检AI研发设计。(239字)
236 4
|
22天前
|
Kubernetes 并行计算 算法框架/工具