当前位置: 首页 > 工具软件 > ejabberd > 使用案例 >

即时通讯服务服务器 ejabberd、jabber、jabberd、xmpp简介

许振海
2023-12-01

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版本的客户端)等。

业界有很多优秀的开源XMPP服务器,比如eJabberd、Openfire、Tigase、Jabberd2、Prosody,还有一些优秀的商业XMPP服务器,比如lsode、Jabber XCP等。在XMPP.ORG网站上可以看到完整的列表。

openfire使用搭建更加方便快捷,管理界面也更友好,可视化配置方便。

tigase功能更加强大丰富一些,tigase性能更好,支持集群横向扩展,可以支撑更大的用户量 (官网号称单机50w 集群百万)

选择: 如果你是想快速搭建,控制成本,用户量不多的情况下,完全可以选择openfire

如果你将面对更多用户(十万甚至百万级),并愿意话费时间人力成本进行部署调优,甚至二次开发的话,选择tigase准没错

软件功能

1、用户系统:用户注册、登录、添加好友、删除好友、好友列表、支持上传头像、可以修改个人信息、名称、性别、地区、签名、黑名单功能、拉入黑名单将无法收到对方的信息、查看好友当前地理位置。

2、聊天系统:发送文字、图片、语音、表情。语音聊天可以显示时长、未读状态,自动轮播未读语音;

3、群聊系统:建立房间、加入房间、删除房间、房间列表、群聊、屏蔽群消息功能、邀请、踢出好友(只有房主才有这个功能)。并有操作日志实时显示在房间中

4、附近人功能:根据筛选条件查看附近的人,查看用户时能显示位置

5、朋友圈:支持发送文本、图片、语音、视频或以上混合消息,支持好友进行赞、评论、转发、送礼物等操作,并且可以根据消息显示粉丝贡献值。

6、实现了发消息后,如接收方不在线,除了离线消息外,会自动推送通知,留了推送接口

7、提供如何和贵企业现有服务器现有用户系统整合的方案,使IM只是成为其中的一个模块,方案简单易用。

8、单台服务器能适应超20w以上大规模并发,并支持服务器集群,理论上可以支持上亿用户。

服务端比较

功能OpenfireTigase视酷即时通讯系统(基于Tigase)
网络框架Java的MINAJava的NIO 
单聊、群聊支持支持支持并可以发送图片、语音、视频、文件等
离线推送不支持不支持支持
消息回执不支持不支持支持
聊天记录不支持不支持支持
NoSQL存储不支持不支持支持并已实现MongoDB存储
朋友圈不支持不支持支持
服务器集群支持但不稳定支持支持并可以通过增加机器横向拓展
用户在线数150000250000300000

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,正在加入音频群聊、视频直播功能,将来升级可给老客户最最优惠的价格

 类似资料: