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

转载于:https://www.cnblogs.com/welhzh/p/5863707.html

即时通讯服务器的对比相关推荐

  1. 微信作为一种提供即时通讯服务器,Golang 写的即时通讯服务器 im(服务组件形式)...

    简要介绍 im是一个即时通讯服务器,代码全部使用golang完成.主要功能 1.支持tcp,websocket接入 2.离线消息同步 3.单用户多设备同时在线 4.单聊,群聊,以及超大群聊天场景 5. ...

  2. fcm 服务器接入 golang_Golang 写的即时通讯服务器 im(服务组件形式)

    简要介绍 im是一个即时通讯服务器,代码全部使用golang完成.主要功能 1.支持tcp,websocket接入 2.离线消息同步 3.单用户多设备同时在线 4.单聊,群聊,以及超大群聊天场景 5. ...

  3. Socket搭建即时通讯服务器

    即时通讯 相关代码Demo地址, 内附服务端代码和iOS端聊天室测试Demo 原文地址: Socket搭建即时通讯服务器 即时通讯(Instant messaging,简称IM)是一个终端服务,允许两 ...

  4. IM开发之即时通讯服务器Ejabberd的介绍和搭建

    一.Ejabberd简介 众所周知,Ejabberd是一个采用Erlang/OTP[一次性口令]写的开源即时通讯服务器,支持跨平台.分布式.容错性且基于开放标准的实时通讯系统,其也是一个功能丰富的XM ...

  5. 即时通讯,对比 环信、融云、腾讯IM

    即时通讯,对比 环信.融云.腾讯IM 项目中用到了及时通讯,根据实际项目中用到的内容,这里仅作简单比对 – 项目 环信 融云 腾讯云 用户数量 收费无上线,免费100人 收费无上限,免费100人 无上 ...

  6. 基于ProtocolBuffer和ysocket的Swift即时通讯服务器搭建

    2019独角兽企业重金招聘Python工程师标准>>> 介绍 Protocol Buffers (ProtocolBuffer/ protobuf )是Google公司开发的一种数据 ...

  7. linux+即时通讯服务器,linux平台上的即时通讯应用开发

    由于使用习惯,Linux在中国受欢迎程度远不如windows,相应的软件也比较少,尤其是音视频类的软件,但是,这并不代表就完全没有.下面介绍一款强大的音视频即时通讯平台给大家,它就是--Anychat ...

  8. 即时通讯学习笔记005---在windows中安装OpenFire服务器即时通讯服务器_使用OpenFire内置数据库

    大体上是下面的安装过程,但是我本地装的版本高,所以 把我安装时候的过程截图下来: 安装exe文件以后,会自动弹出,这个页面,如果没有的话: http://localhost:9090/setup/in ...

  9. 基于开源jabber(XMPP)架设内部即时通讯服务的解决方案

    原文地址:基于开源jabber(XMPP)架设内部即时通讯服务的解决方案 作者:高傲的活着 Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Inte ...

最新文章

  1. 使用ApplicationContext启动standard模式的Activity报错原因解析
  2. vue 怎么样不重复往数组里插入数据_Vue.js在数组中插入重复数据的实现代码分享...
  3. python3.6sysos_Python 常用内置模块——sys、os
  4. android singleinstance home,Android启动模式之singleinstance的坑
  5. 计算机金融专业课程方案,《计算机在金融业中的应用》教学实施方案
  6. eclipse左边工程列表不见了,怎么调出来
  7. Two sum 二刷
  8. 超级终端连接华为交换机_笔者为你win8系统使用超级终端连接华为交换机的图文方法...
  9. 2021年Qt路线图
  10. 省市县行政区划代码sql及源地址
  11. 智能家居远程控制:实现 APP 与 ESP8266 远程通信
  12. ug中文字大小设置_ug10.0工具条字体大小如何修改?
  13. 大数据人工智能技术全攻略(一)
  14. 快速正确的搭建一个微服务架构需要了解的那几个点
  15. java语言获取数据库中的表的总行数
  16. 伯努利分布、二项分布、概念辨析
  17. thinkphp使用阿里大鱼短信接口
  18. 第4章第11节:图表:使用柱形图表制作学生成绩表 [PowerPoint精美幻灯片实战教程]
  19. 写个dump_stack【转】
  20. html两张图片无缝连接,如何实现两张图片的无缝结合

热门文章

  1. 一文看懂数据服务DaaS
  2. JEECG 动态在线报表
  3. 为什么软件开发方法论让你觉得糟糕
  4. element Carousel 的使用
  5. 为什么你一直是打工仔?
  6. 湖南安院•美和易思校企共建专业PPT制作与演讲大赛圆满落幕
  7. nodejs adm-zip 解压文件 中文文件名乱码
  8. ISE14.7使用教程(一个完整工程的建立)
  9. kaggle notebook里面如何使用一个完整的项目和py脚本
  10. 《别看了,你学不会的》——函数式编程