Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP的技术来自于Jabber,其实它是 Jabber的核心协定,所以XMPP有时被误称为Jabber协议。Jabber是一个基于XMPP协议的IM应用,除Jabber之外,XMPP还支持很多应用。
Ejabberd是一款开源免费的Jabber/XMPP服务器,采用ErLang编写,具有跨平台的能力,支持Linux,window,Unix等多种平台,基于GPL v2许可发布。
Jabber/XMPP(Extensible Messaging and Presence Protocol)主要用于即时通信,Gtalk就是采用Jabber/XMPP协议开发的。基于 Jabber/XMPP协议通信需要服务器端和客户端,ejabberd就是作为Jabber/XMPP的服务端,而比较著名的Jabber客户端有 pidgin,spark(java版本的客户端)等。
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,正在加入音频群聊、视频直播功能,将来升级可给老客户最最优惠的价格