开源移动通讯架构与XMPP

标签: im XMPP | 发表时间:2014-10-29 15:24 | 作者:Tim
出处:http://timyang.net

XMPP由于上下游良好的开源生态得到了广泛的采纳与应用,但是到了移动为主的时代,XMPP的不足也暴露出来。

XMPP全称是Extensible Messaging and Presence Protocol(也称为Jabber),是一种支持消息及状态的协议,但在线状态在移动场景并是一个必需的feature。由于智能手机具有随时在线的特点,状态可以视为永远在线;即便在app没有打开的情况下,系统可以通过push等方式发送最新的信息,因此大部分面向移动的通讯软件直接去掉了状态的特性。因此设计成支持多终端状态的XMPP在移动领域并不是擅长之地。另外一方面XMPP是一种基于XML的协议,它的请求及应答机制也是主要为稳定长连网络环境所设计,对于带宽偏窄及长连不稳定的移动网络并不是特别优化,因此它的弊端就充分暴露出来了。

移动领域也有不少非XMPP的开源实现,尽管赢得主流认可的不多。比较商业化的有 telegram,其特性跟微信比较类似,在一些国家也取得了飞速发展,尽管其宣称的 开源还不完全。国内有前几天蘑菇街发布的的 TeamTalk, 其开源地址是 https://github.com/mogutt 从发布的短短几天来看, star/fork 数非常可观。其介绍支持企业内部通讯场景,且具有完整的移动端支持。

最近也在考虑在这方面做一些尝试,一个理想的适合移动时代的IM开源软件,它应该具有哪些因素?

  • 分布式扩展能力。在XMPP领域,由于Openfire的简单易用,成为很多团队首选的方案,但使用Openfire的团队都需要接着思考扩展openfire的分布式扩展能力,以便承担更大的用户访问规模。
  • 移动友好的协议,协议具有良好的长连及短连自适应能力,具有数据的增量更新能力,较低的重连成本等。有网友推荐MQTT http://mqtt.org/,尚未深入评估。
  • 移动SDK,主要实现协议层及网络逻辑,以简化客户端接入及开发成本。
  • 开发语言,更多考虑一些能带来编程乐趣的新型语言,在一定程度上,scale的问题可以做到与语言无关。

在微博上交流的时候,一些网友还提到了XMPP的federation功能,federation类似邮件协议,利用XMPP可以实现多个域的用户互联互通。但由于此功能对于企业的商业化利益较难看清,因此在过去很长一段时间都没有得到充分发展。Google最近也放弃了多年来坚持的XMPP federation的支持。

需要补充的是,尽管前面提到XMPP种种问题,但是也别低估一种新协议的认知成本,很多时候选择XMPP并不是因为它协议强大或多么适合用户的场景,而是当大众群体已经了解一种协议之后,即使这种方式存在种种问题,但还是较难广泛认可及接受一种方式或协议。在没有特殊原因的情况下,普通的通讯场景仍然建议使用XMPP方式。

本网站后续文章也可以通过微信公众号订阅,欢迎扫码关注。

Similar Posts:

相关 [开源 移动 通讯] 推荐:

开源移动通讯架构与XMPP

- - Tim[后端技术]
XMPP由于上下游良好的开源生态得到了广泛的采纳与应用,但是到了移动为主的时代,XMPP的不足也暴露出来. XMPP全称是Extensible Messaging and Presence Protocol(也称为Jabber),是一种支持消息及状态的协议,但在线状态在移动场景并是一个必需的feature.

为什么移动通讯还停留在号码时代?

- jackfrage - 月光博客
  无线运营商是移动产业的“沙袋”,在阻碍创新上他们是臭名昭著的,他们从不管理,只维持现有的利润. 他们常常惹人讨厌,纵使它们现在突然作出改变,它们也不会引发另一个变革. 这里再也不会瞬间出现另一个由10个数字组成的语音导向的世界组织,也不会出现由ID和二进制数字组成的数据导向的世界组织.   在过去一周,移动通讯的未来出现了几个引人注目的发展.

通讯录:电信联通扳倒移动的机会

- ping - 月光博客
  早先月光博客写了一篇“基于云计算的通讯录产品设计”,有读者对此有一些自己的看法,认为通讯录是电信联通扳倒移动的机会,全文如下. 电信联通虽然也是亲生儿子,可惜生的晚了点,要从老大嘴巴里面抢吃的,难啊.   本来在3G这个时代,电信联通是很有机会的,但是目前看来用户还是增加的太慢.   为什么守着这么好的3G技术,客户还不蜂拥而至呢.

三星在Android Market发布移动即时通讯服务ChatOn

- Elic - cnBeta.COM
三星今天向Android Market投放了免费移动即时通讯服务ChatOn的客户端. 除三星Bada系统外,ChatOn还兼容Android、iOS等主要手机操作系统. ChatOn适用于所有主要智能机和功能手机平台,可以让用户在不受系统平台限制的情况下与朋友、家人进行互动,进行一对一对话、群聊、群发信息,共享图 片、视频、语音信息和联系人.

文本即时通讯动了移动运营商的蛋糕

- - Solidot
移动平台上的文本即时通讯软件WhatsApp、微信、Kakao Talk和Line,正日益取代短信成为数亿人不可或缺的通讯工具. 文本即时通讯的费用主要来自使用的流量,相比短信要低得多,因此严重冲击了移动运营商. 用户收发一条短信可能需要支付高达20美分的费用,而运营商的成本仅为0.01美分. 根据市场研究公司Ovum的数据,截止2012年底,文本即时通讯应用程序的崛起已导致运营商损失了230亿美元的收入.

Adrian Stephens:预测2017 年移动通讯行业趋势分析

- - 199IT互联网数据中心
本文作者是 IEEE 802.11 无线局域网工作组主席 Adrian Stephens,在即将迈入全新的 2017 年之际,他对未来移动通讯行业进行了一些预测,包括 Wi-Fi 网络的发展对未来 5G、物联网等领域里所产生的影响和应用前景. 对于业内人士来说,预测行业趋势总是一件值得去做的事情,因为你可以据此判断自己是否足够了解所处的行业.

有板有眼:移动即时通讯服务未来谁更有优势?

- 陈耀斌 - 对牛乱弹琴 | Playin' with IT
问:移动即时通讯(短信息)服务的提供商会有运营商、软件开放商、手机制造商. 在不同平台上,优势会有所差异吗. 答:移动即时通信服务不能忘了短信,在谈论移动即时通信服务的时候,应该包括移动IM和SMS. 所以先看看IM和SMS有什么异同. 相同点不必多说,对用户来说,都是发送简短的信息给某人,在使用体验上和功能实现上,似乎差别不大.

奇虎360内测移动通讯应用"口信" 支持收发语音

- CarlNERV - GeekPark 捕风捉影
8月22日消息,奇虎360即将推出移动社交通讯应用“口信”,目前已在公司内部启动内测. 据悉,口信是一款基于手机通讯录的社交和通讯工具,除了支持免费免费收发短信、照片外,也允许用户收发语音信息. 在这点上,口信类似于腾讯微信、米聊等应用,后二者目前都主打语音对讲功能. 口信也打出了安全牌,提供通讯录安全备份等功能.

研究称Android是最不开放的开源移动平台

- geek2live - Solidot
市场研究公司VisionMobile受欧盟资助,根据开放式管理、包容性、透明度和源代码易于访问等量化和评估八大开源项目的开放程度. 研究报告(需要输入电邮)称,Google的Android是最不开放的开源移动平台. 八个项目从低到高的排名是Android(23%)、Qt(58%)、Symbian(58%,基于闭源前的管理模式)、MeeGo(61%)、Mozilla(65%)、WebKit(68%)、Linux(71%)和Eclipse(84%).

移动操作系统再添新员: Mozilla开源 OS

- Jie - GeekPark 捕风捉影
Mozilla今天表示初步计划将驱动Firefox的Gecko引擎打造成一个开源的操作系统,未来将工作在手机和平板电脑上. Gecko是一个渲染引擎,驱动Firefox浏览器和著名的邮件客户端Thunderbird,新的操作系统将叫做Boot to Gecko,它特色的地方在于代码是实时公开发布,而相比之下,Google的Android操作系统也是开源,但是主要开发部分必须经过Google采纳之后才能公开,有时时间要拖几个月之久.