業界有很多優秀的開源XMPP服務器,比如eJabberd、Openfire、Tigase、Jabberd2、Prosody,還有一些優秀的商業XMPP服務器,比如lsode、Jabber XCP等。在XMPP.ORG網站上可以看到完整的列表。
openfire使用搭建更加方便快捷,管理界面也更友好,可視化配置方便。
tigase功能更加強大豐富一些,tigase性能更好,支持集群橫向擴展,可以支撐更大的用戶量 (官網號稱單機50w 集群百萬)
選擇: 如果你是想快速搭建,控制成本,用戶量不多的情況下,完全可以選擇openfire
如果你將面對更多用戶(十萬甚至百萬級),並願意話費時間人力成本進行部署調優,甚至二次開發的話,選擇tigase准沒錯
http://www.shiku.co/faq.html
1、用戶系統:用戶注冊、登錄、添加好友、刪除好友、好友列表、支持上傳頭像、可以修改個人信息、名稱、性別、地區、簽名、黑名單功能、拉入黑名單將無法收到對方的信息、查看好友當前地理位置。
2、聊天系統:發送文字、圖片、語音、表情。語音聊天可以顯示時長、未讀狀態,自動輪播未讀語音;
3、群聊系統:建立房間、加入房間、刪除房間、房間列表、群聊、屏蔽群消息功能、邀請、踢出好友(只有房主才有這個功能)。並有操作日志實時顯示在房間中
4、附近人功能:根據篩選條件查看附近的人,查看用戶時能顯示位置
5、朋友圈:支持發送文本、圖片、語音、視頻或以上混合消息,支持好友進行贊、評論、轉發、送禮物等操作,並且可以根據消息顯示粉絲貢獻值。
6、實現了發消息后,如接收方不在線,除了離線消息外,會自動推送通知,留了推送接口
7、提供如何和貴企業現有服務器現有用戶系統整合的方案,使IM只是成為其中的一個模塊,方案簡單易用。
8、單台服務器能適應超20w以上大規模並發,並支持服務器集群,理論上可以支持上億用戶。
| 功能 | Openfire | Tigase | 視酷即時通訊系統(基於Tigase) |
| 網絡框架 | Java的MINA | Java的NIO | |
| 單聊、群聊 | 支持 | 支持 | 支持並可以發送圖片、語音、視頻、文件等 |
| 離線推送 | 不支持 | 不支持 | 支持 |
| 消息回執 | 不支持 | 不支持 | 支持 |
| 聊天記錄 | 不支持 | 不支持 | 支持 |
| NoSQL存儲 | 不支持 | 不支持 | 支持並已實現MongoDB存儲 |
| 朋友圈 | 不支持 | 不支持 | 支持 |
| 服務器集群 | 支持但不穩定 | 支持 | 支持並可以通過增加機器橫向拓展 |
| 用戶在線數 | 150000 | 250000 | 300000 |
1.為什么棄用OpenFire?對Tigase做了哪些修改?
OpenFire推出較早,視酷的第一版本就是基於OpenFire的,但由於網絡框架比較落后,不穩定,服務經常要重啟,且並發性能差,沒 有一款巨量用戶的APP是用它的,研究良久后面選定了Tigase服務器(有巨量用戶案例),Tigase推出晚,克服了Openfire好多缺點,性能 優越,我們所有的修改都做成了插件,這樣當Tigase升級時,插件能照常使用。
2.系統采用什么框架?
系統采用的成熟的XMPP協議+CentOS6.5+Jdk1.8+mysql5.6+ mongodb3.0.1+Tigase7.0.2+Redis3.03+Nginx1.7.9, 服務端采用JAVA語言,如微信、陌陌均采用了XMPP協議
3.為何要用消息回執?
消息回執是XMPP的擴展協議,是保證消息100%送達的關鍵,Tigase本身不支持回執,我們做了擴展,如果APP商用,必須用它,否則丟包率非常嚴重,尤其在信號不暢時
4.Tigase的並發性能如何?
經過我們優化之后的性能能達到單台服務器並發20萬用戶以上,使用集群方案后理論上支持上億用戶同時在線,同時客戶端源代碼采用標准的XMPP協議,很容易支持其他服務器如ejabberd
5.出售的是源代碼嗎?
是的,不止如此,重要的是我們提供一整套的解決方案和技術支持。同時關鍵代碼位置有注釋,設計文檔齊全
6.技術支持力度如何?
一般會把雙方的技術人員拉至一個QQ群內,隨時交流指導;技術支持至少三個月,長則一年
10.未來升級會加什么功能?
我公司的主業是一款大型移動互聯網APP,正在加入音頻群聊、視頻直播功能,將來升級可給老客戶最最優惠的價格
