zoukankan      html  css  js  c++  java
  • 即时通讯服务器的对比

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

  • 相关阅读:
    Linux内核中的jiffies 以及时间的获取time
    linux2.6内核启动流程简述
    qt 显示控件 导致频闪
    V4L2应用程序框架
    linux 目标机 windows 图形界面ftp登录
    linux2.4内核启动流程简述及2410主频修改
    块设备驱动编写总结一(ZT)
    backlight misc驱动范例 及应用程序范例
    如何通过结构中的某个成员地址获取结构本身的指针???
    我是怎么招聘程序员的
  • 原文地址:https://www.cnblogs.com/welhzh/p/5863707.html
Copyright © 2011-2022 走看看