利用Docker compose 搭建基于Haproxy + EMQX 5.x 的MQTT 负载均衡集群

基础知识

## Haproxy 相关
    1、Haproxy 2.4 之后的版本支持 配置 MQTT 粘性(Sticky)会话负载均衡
    2、要让后端EMQX 集群获取客户端的原始IP,需要开启 透传代理 send-proxy

## EMQX 相关
    1、EMQX 5.x系列,版本号< 5.9的开源版,支持3节点集群(我们使用 5.8.6版本),5.9及其之后的版本,只能单节点部署。
    2、EMQX 5.8.6 开源版只支持 Core 节点集群,企业版所有节点都默认为 Core 节点。
    3、EMQX 核心节点之间 要求 在10ms 以下,超过100ms 将不可用。
    4、EMQX 核心节点要求 较大内存,在不承接连接的情况下 CPU 消耗较低。
    5、emqx 容器内程序运行在emqx 这个用户下,若挂载主机目录,要考虑777 或者 创建一个emqx 账户并赋予所有者,所属组。
    6、容器内emqx 数据是存储在 emqx@hostname 下的,所以要固化 主机名,否则容器再创建时 可能丢数据。

2台虚拟机,分别部署一个EMQX(非k8s 且非同一台主机,故docker 我使用host网络模式)

## 宿主机上创建对应目录,并授予权限
mkdir /opt/devops/emqx -p
useradd -m -s /sbin/nologin emqx
mkdir /data/emqx_data -p
mkdir /var/log/emqx -p
chown emqx:emqx /data/emqx_data
chown emqx:emqx /var/log/emqx
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1469.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/5/6作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录