1 常用IM协议
名称 | 说明 | 优点 | 缺点 | 案例 |
---|---|---|---|---|
XMPP | 基于xml的消息协议 | 使用广泛,易扩展 | 比较耗流量和耗电 | Gtalk、新浪微博、Facebook |
MQTT | IMB开发的即时通讯协议 | 多平台 | 协议简单 | 推送 |
私有协议 | ActivitySync | 同步支持好,流量小 | 工作量大、扩展性差 | 微信 |
2 开源框架对比
名称 | 说明 | 优点 | 缺点 |
---|---|---|---|
Openfire | 采用java开发的mina框架 | 成熟稳定,插件多 | 单台服务器测试最大并发30万用户,集群支持薄弱 |
Tigase | java实现的NIO通讯框架 | 单机并发50万,支持集群 | 集群方式复杂 |
Jabber | Linux即时通讯服务 | ||
Ejabberd | Jabber/XMPP服务器,采用ErLang编写 |
3 写在最后
- 使用openfire搭建更加方便快捷,管理界面也更友好,可视化配置方便
- 功能更加强大丰富一些,tigase性能更好,支持集群横向扩展,可以支撑更大的用户量 (官网号称单机50w 集群百万)
如果是想快速搭建,控制成本,用户量不多的情况下,完全可以选择openfire
如果将面对更多用户(十万甚至百万级),并愿意话费时间人力成本进行部署调优,甚至二次开发的话,选择tigase.
从性能及成本来看,Tigase > Openfile > Ejabberd。