一、 Openfire Connection Manager 简介
Openfire Connection Manager 是 Openfire 服务器的扩展,它可以透明的处理大规模并发 XMPP 客户端对Openfire 服务器的联接。根据 Connection Manager 主页介绍,每个 Connection Manager 可以处理至少五千个并发用户。图 1 表示 Openfire 服务器配置 Connection Manager 后的系统架构。
如图 1 所示, Openfire 服务器可以连接一个或多个 Connection Manager 。每个 Connection Manager 可以处理一个或多个支持 XMPP 的客户端。为 Openfire 配置 Connection Manager 后,支持 XMPP 的客户端仅需要连接Connection Manager ,由 Connection Manager 负责管理对来自 XMPP 客户端对 Openfire 服务器的连接。
Connection Manager 遵循 GPL 和商业软件许可证这两种许可证。
二、 Openfire 配置
首先需要在 Openfire 上开启 Connection Manager 监听服务,具体流程如下所示
1. 打开 Openfire Admin Console
2. 点击 Server 选项卡下面的 Server Settings 页面
3. 点击右侧的 Connection Managers 页面
4. 选择 Enable 单选按钮以打开 Connection Manager 监听服务
5. 设置 password 。例如, 123 。
通过以上配置,完成了开启 Openfire 监听 Connection Manager 服务。在 Openfire 开启 Connection Manager 监听服务后,下面需要做的是安装和配置 Connection Manager 。
三、 Connection Manager 安装配置
安装和配置 Connection Manager 的步骤如下
1. 选择另一台与 Openfire 不同的服务器
2. 解压下载后的 Connection Manager
3. 修改 conf 目录下的 manager.xml 文件内容。
a) 修改 domain
填写 Openfire 所在的域名:
[xhtml] view plaincopy
- <domain>192.168.0.28</domain>
- <port>5262</port>
- <password>123</password>
这里需要填写 Openfire 所在的域名、在 Openfire 中开启的监听端口和在 Openfire 中设置的密码。
这里经过测试,在 domain 项中填写 Openfire 所在的 IP 也是可以通过的。
b )修改 certificate
把 <certificate> 项中将
[xhtml] view plaincopy
- <verify>true</verify>
改成
[xhtml] view plaincopy
- <verify>false</verify>
配置默认是需要 CA 颁发的证书,比较麻烦。简单的方法是去掉 verify 。
经过以上几个步骤完成了 Connection Manager 的安装和配置。启动 bin/cmanager.sh 或者 cmmanager.bat 。如果配置正确,刷新 Openfire Admin Console 中提及到的页面就可以看到有 Connection Manager 连接。图 3 表示了 openfire 配置了一个 Connection Manager 之后的 Connection Manager Settings 页面。
如图 3 所示,在 Active Connection Managers for server: localhost.localdomain 列表中显示了一个 Connection Manager 的基本信息: Name 为 3cxte , IP 为 192.168.0.240 , Client Sessions 为 0 个。
四、 Client 端配置
本节以配置 Spark 为例,说明支持 XMPP 客户端如何配置到 Connection Manager 。
1. 配置服务器 IP 和端口
2. 主界面填写服务器 IP
3. 填写用户名登录
在用户成功登陆后, 在图 4 所表示的 Connection Manager Settings 页面中显示了有一个用户登录在192.168.0.240 这个 Connection Manager 上。
如图 4 所示,在 3cxte 这个 Connection Manager 上有一个活跃 Client Sessions 。