EMQ完成负载均衡高可用集群
EMQ集群配置
使用到的服务EMQ,EMQ集群需要在不同的两台服务器上做配置。
https://docs.emqx.net/broker/latest/cn/getting-started/cluster.html(官方文档)
注意事项
- 使用相同版本的EMQ,(EMQ版本必须相同)
- 两台服务器均要打开4369端口,大于4.0需要打开4370 端口
命令
(加入集群)./bin/emqx_ctl cluster join emqx@s1.emqx.io
(退出集群)./bin/emqx_ctl cluster leave
(EMQ一踢出EMQ二)./bin/emqx_ctl cluster force-leave emqx@s2.emqx.io
haproxy负载均衡配置
haproxy用来做负载均衡。可以选着权重分配每台服务器连接的用户数量。
命令
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cnf
注意事项
-
端口占用问题,不能监听使用的端口
-
分配模式balance roundrobin多种选着
-
haproxy监听连接没有消息发送或接受断开连接(timeout client,timeout server设置很长,或者关闭)
keepalived高可用配置
高可用:两台业务系统启动着相同的服务,如果有一台故障,另一台自动接管,我们将将这个称之为高可用.
使用keepalived来完成EMQ服务器的高可用.把keepalived作为
命令:
systemctl daemon-reload
systemctl start keepalived
systemctl status keepalived
systemctl stop keepal service keepalived restart ived
service keepalived restart
注意事项 -
ubuntu系统在启动前运行:systemctl daemon-reload必须让系统去加载服务ubuntu系统配置(https://blog.csdn.net/love_is_simple/article/details/47903527)
-
系统不同配置差异很大。配置不会成功。找相应系统去配置
-
网络端口名字要和网卡名字一致