聊天服务的设计随想
聊天系统 Contents 聊天系统 叙 聊天的类型 现有的几个开源方案 Jabber/XMPP的弊端 轻巧的MQTT 架构设计实现 叙 对于互联的多用户在线游戏,聊天是不可少的。 聊天的类型 这里分类是按用户的多少来分类。 单点类型 很简单如Skype(QQ)那样,你可以和好友,一对一的在线聊天。 多点类型 如Skype,可以自由组织群聊。 现有的几个开源方案 ejabberd ejabberd(基于Jabber/XMPP协议的即时通讯服务器)是Gameloft现在非常废柴的聊天系统。从开源角度,ejabberd似乎是一款不错的聊天替代品。 优点 跨平台,容错,集群和模块化. 容易拓展(轻松的50行用户认证插件代码就集成到现有平台)。 分布式, 容错, 并基于开放标准的实时通讯系统. 功能服丰富的XMPP服务器. 同时适合小规模布署和超大规模布署, 无论它们是否需要可伸缩性. 缺点 对于移动互联网来说,Jabber/XMPP非常臃肿。(以前公司的分布式聊天平台中当群聊到50人时就非常吃力了) 部署麻烦。 维护性差,维护难度大。 openfire Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。优点是易用安装使用,还提供WEB管理工具。 Jabber/XMPP的弊端 对于移动互联网环境来说,XMPP是臃肿的,实践中表现并非尽人意