十分钟部署一个 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


相关文章
|
4天前
|
人工智能 弹性计算 运维
|
2天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
1天前
|
SQL 人工智能 自然语言处理
大模型内容安全实时防护:恶意Prompt注入拦截、越权阻断与熔断机制方案.166
本文系统阐述大模型输入安全防护体系,涵盖提示词注入、恶意Prompt拦截、越权阻断与输入熔断四大核心风险及应对方案。提出四层防护架构(预处理、检测、鉴权、熔断),结合规则引擎、语义识别与RBAC权限控制,实现全链路实时防护,保障业务合规、数据安全与服务稳定。
206 1
|
25天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
9天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。
|
10天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
19天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
16天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
505 127
|
11天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
532 1