Openfire的单机并发量,一直是一个比较含糊的东西,即便官方也没有很清楚的介绍。但按我自已评估,以4核、8G内存这样的机器配置,5万+的并发应问题不大。而当用户体量逐步上涨,前期能够经过扩容的方式提高性能,但若体量足够大,如几十万并发,单机的扩容已不是首选的方案,一来考虑性价比,二来若是整套系统跑在一台机器上,出现异常可能会波及全部在线的用户,用户感觉极差。这时候,就须要把系统的压力分摊到多个服务器上,这就是集群。nginx
集群的引入,是为了解决单机的并发瓶颈,在多个服务器上,分别运行Openfire实例,并进行数据共享,使得多台机器的协做运行效果,与单机同样。sql
而优秀的集群系统,不单单能提高性能,并且能自我管理。当其中某台机器出现异常,将触发集群的维护机制,好比剔除该异常节点,为系统的稳定性提供保障。数据库
Openfire为集群的接入提供了透明接口,能够经过添加插件的形式实现集群。服务器
具体Openfire的集群机制是如何,咱们在后面的章节再来分析,本章主要讲解集群的配置,使用的集群插件是:Hazelcast。并发
IP1:192.168.5.1 IP2:192.168.5.2
二、Mysql数据库,安装在服务器1负载均衡
数据地址:192.168.5.1:3306
<join> <multicast enabled="false"> <multicast-group>224.2.2.3</multicast-group> <multicast-port>54327</multicast-port> </multicast> <tcp-ip enabled="true"> <member>192.168.5.2:5701</member> <member>192.168.5.1:5701</member> </tcp-ip> <aws enabled="false"/> </join> <interfaces enabled="true"> <interface>192.168.5.1</interface> </interfaces>
服务器2:tcp
<join> <multicast enabled="false"> <multicast-group>224.2.2.3</multicast-group> <multicast-port>54327</multicast-port> </multicast> <tcp-ip enabled="true"> <member>192.168.5:1:5701</member> <member>192.168.5.2:5701</member> </tcp-ip> <aws enabled="false"/> </join> <interfaces enabled="true"> <interface>192.168.5.2</interface> </interfaces>
使用两个客户端,分别登陆两个机器,若是客户端能进行通讯,则集群功能已经具有。性能