Openfire集群我们采用Hazelcast插件进行集群部署,采用Haproxy进行负载均衡。架构图:
一、安装并配置MySQL
步骤略
二、编辑xmpp主机的hosts文件
[root@web01 ~]# cat /etc/hosts
10.168.18.67 xmpp01
10.168.110.71 xmpp02
三、安装openfire
过程略过
四、为openfire配置Cluster
1.添加hazelcat clustering Plugin 插件
2. 编辑Hazelcast 配置文件 /usr/local/openfire/plugins/hazelcast/classes/hazelcast-cache-config.xml
- <join>
- <multicast enabled=“flase”> //禁用多播,默认为true
- <multicast-group>224.2.2.3</multicast-group>
- <multicast-port>54327</multicast-port>
- </multicast>
- <tcp-ip enabled=“true”> //启用TCP/IP
- <hostname>xmpp01:5701</hostname>
- <hostname>xmpp02:5701</hostname>
- <interface>192.168.18.67</interface>
- <interface>192.168.110.71</interface>
- </tcp-ip>
- <aws enabled=“false”/>
- </join>
- <interfaces enabled=“true”>
- <interface>192.168.18.67</interface> //本机服务器IP接口,也就是用此接口IP去通过5701端口去通信
- </interfaces>
2台机器都需要修改3.配置完hazelcast配置后,重新启动openfire服务,再进入到openfire的管理平台启用Hazelcast
4.成功状态如下【集群服务能相互看到集群中的服务器运行状态】
五、测试
分别建立几个账号,登陆服务器分别使用不同地址,进行发送消息。理论上是成功的,并且在管理后台中,也能看到登陆进来的账号状态:
Node为Local说明客户端登陆的服务器是本机
Node为Remote说明客户端登陆的服务器是其它机器
六、部署Haproxy提供负责均衡
可以参考:http://blog.csdn.net/zhu_tianwei/article/details/41117323,配置TCP负载均衡。
转至:http://blog.163.com/qiushuhui1989@126/blog/static/270110892015211112953895/
参考:
1.openfire集群部署及负载均衡方案