基于HAProxy怎么搭建EMQ X集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
负载均衡器(磅)负责分发设备的MQTT连接与消息到EMQ X集群,采用磅可以提高EMQ X集群可用性,实现负载平衡以及动态扩容。
HAProxy是一款使用C语言编写的自由及开放源代码软件,其提供高可用性,负载均衡,以及基于TCP和HTTP的应用程序代理,它是免费,快速并且可靠的一种解决方案。
本文将介绍如何基于HAProxy部署EMQ X集群并在HAProxy上终结SSL连接,这种部署模式下EMQ X单集群可轻松支持数百万设备。
准备
软硬件版本
- <李> Ubuntu 18.04
李> <李>
EMQ X代理v4.2.5
李> <李>HAProxy 2.2 +
李>机器分配
- <李>
172.16.239.107: HAProxy
李> <李>172.16.239.108: EMQ X节点1
李> <李>172.16.239.109: EMQ X节点2
李>安装
EMQX
参考EMQ代理X
wget https://www.emqx.io/downloads/broker/v4.2.5/emqx-ubuntu18.04-4.2.5-x86_64.zip unzip emqx-ubuntu18.04-4.2.5-x86_64.zip HAProxy
sudo apt-get 更新 sudo apt-get  install software-properties-common - y sudo add-apt-repository  -y ppa: vbernat/haproxy - 2.2 sudo apt-get 更新 sudo apt-get  install -y  haproxy=2.2。\ *
配置
EMQX
修改<代码> EMQX/etc/EMQX。设计> 代码配置文件,另一台同理
# #,修改节点名 node.name =emqx@172.16.239.108 # #,修改集群策略为静态的,无需手动添加节点了 时间=cluster.discovery 静态的 # #,所有集群节点 cluster.static.seeds =, emqx@172.16.239.108, emqx@172.16.239.109 # #,为了获取,IP 地址,需要设置,proxy_protocol listener.tcp.external.proxy_protocol =,
HAProxy
修改HAProxy HAProxy <代码>/etc//fg 代码>
添加TCP端配置
backend backend_emqx_tcp ,,,mode tcp ,,此balance 循环 ,,,server emqx_node_1 172.16.239.108:1883 check-send-proxy send-proxy-v2 check inter 10 s fall 2, rise 5 ,,,server emqx_node_2 172.16.239.109:1883 check-send-proxy send-proxy-v2 check inter 10 s fall 2, rise 5
添加仪表板后端配置
backend backend_emqx_dashboard ,,此balance 循环 ,,,server emqx_node_1 172.16.239.108:18083 检查 ,,,server emqx_node_2 172.16.239.109:18083 检查
添加TCP前端配置
frontend frontend_emqx_tcp ,,,bind *: 1883 ,,,option tcplog ,,,mode tcp ,,,default_backend backend_emqx_tcp
添加仪表板前端配置
frontend frontend_emqx_dashboard ,,,bind *: 18083 ,,,option tcplog ,,,mode tcp ,,,default_backend backend_emqx_dashboard
运行
EMQX
<>之前,美元/bin/emqx 开始 # #,查看集群状态 ,美元。/bin/emqx_ctl cluster 状态 状态:Cluster # {running_nodes =比; ,,,,,,,,,,,,,,,,,,,,,(& # 39;emqx@172.16.239.108& # 39; & # 39; emqx@172.16.239.109& # 39;], ,,,,,,,,,,,,,,,,,stopped_nodes =祝辞,[]HAProxy}<>之前,美元sudo service haproxy
此开始时便可以通过<代码> 18083 代码>访问仪表板
通过<代码> 1883 代码>连接到集群,连接情况可以在仪表板查看,或者在节点上执行命令
<>之前,美元/bin/emqx_ctl clients 列表证书
如果需要TLS终结,先准备好<代码> emqx。关键代码>和<代码> emqx。crt 代码>文件,然后合并生成<代码> emqx。pem 代码>文件
<>之前,美元cat emqx.crt emqx.key 祝辞,emqx.pem然后添加以下配置即可
frontend frontend_emqx_tcp ,,,bind *: 8883年,ssl crt /opt/证书/emqx.pem no-sslv3 ,,,option tcplog ,,,mode tcp ,,,default_backend backend_emqx_tcp
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。