微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络业界新闻 > 融云杨威:移动IM服务如何做到极致优化

融云杨威:移动IM服务如何做到极致优化

时间:10-27 来源:3721RD 点击:

美通社-- 近日,全球知名技术媒体InfoQ专访了融云技术副总裁杨威。以下是访谈全文,原文出自InfoQ中文站:

目前,随着移动应用的泛社交化,移动即时通讯(IM)第三方服务被越来越多开发者所接受。对于这类服务,功能和稳定性是开发者关注的重点,但在此之外,性能和体验也是非常重要的因素。InfoQ 记者对融云技术副总裁杨威进行采访,探讨了移动 IM 服务如何做到性能和体验上的极致优化。

受访嘉宾介绍:

杨威,融云技术副总裁,移动通信技术专家,智能终端软件研发专家。北京邮电大学通信工程系学士和硕士学位,长期从事智能移动终端上的软件开发工作,曾在 三 星中国通信研究院工作八年。曾负责第三方软件的本地化开发工作,如高德导航等软件在全部中国三星终端上的商业化过程。曾作为项目经理领导了包括 Galaxy Note 在内等多款商业智能终端的研发和商业化项目工作。作为三星融合通信/RCS产品线研发总负责人和技术专家,参与了中国移动融合通信产品规范的整体设计,带领团队设计了三星 RCS、VoIP/VoLTE 产品线的软件架构,并负责研发和团队管理工作。

InfoQ: 请介绍一下融云在哪些方面做了性能和体验优化?是否设立了性能指标?

杨威: 因为融云提供的是面向开发者的云服务,我们十分重视性能和用户体验。我们在提供即时通讯服务上有三个 基 本原则:节省客户的资源,让客户可扩展和可定制,和提供尽量好的功能质量。根据这三个原则我们其实是有一些指标的,我们内部比较关注5个性能指标,分别 是 流量、电量、速度、质量和包大小。

不过,在很多时候这些指标之间其实是互相矛盾或者冲突的,所以需要权衡,不可能在每一个方面都做到完美。

InfoQ: 目前市面上比较主流的通讯协议有哪些?融云在通讯协议方面做了哪些优化,和业界主流或标准相比有哪些优势?

杨威: 对于通讯协议,可能不了解的人觉得它很神秘,但像我们这种整天面对它们的人觉得并没有什么特别的地方。用通俗的话来讲,就是两者之间制定一条规则,然后遵守这个规则我把一个东西传给你,你确认收到了,这个规则就是通讯协议。在通信、电信行业里,比较常 用 的 IM 协议可以举三个例子:
第一类常用的是 SIP/SIMPLE 等协议,这个在电信网络用的比较多,包括全球运营商都在推广的下一代融合通信。这类协议的特点是非常健壮, 但 是规范非常复杂,光是看英文规范文档可能就要学习一两年,它能够让信息在通信节点之间传输得到很好的安全保障,非常高的互通行,扩展性,同时在私有部署 的时候也可裁剪,所以实际上现在仍然非常多的业务在使用这类协议。

第二类常用的就是 XMPP 协议,XMPP 是互联网开源标准的典范。常用的还是 C/S 架构。XMPP 协议的初衷是为互联网设计的一套协议,基于 XML协议,是可扩展的,所以理论上你可以将它扩展和配置成你想要的业务。但是,XMPP 协议是基于互联网早期标准所衍生的,所以它在某些特性上是不适合 移动端的,更适合于 PC 端,比如它的数据包比较大,另外在断线重连上做的也不够好。一般来讲,我还是推荐初学者用 XMPP 来搭建系统,因为有非常丰富的开 源 资源,但往往在一段时间之后你会发现进入瓶颈,比如丢消息,延迟响应慢等等,根源还在于 XMPP 机制上更多的还是考虑了稳定的网络环境设计的。XMPP 虽然是开源的软件,开源代表免费,但开源不代表不需要花时间,很多时候为了解决一个小小的问题,你必须通读它的源代码,你才知道问题出在哪里,如何解决。 我 们接触了很多客户,都是因为解决不了开源协议带来的复杂问题而重新改变了方案。

第三类常用是物联网协议,比如目前比较知名的MQTT协议,这是 IBM 开发的一款支持多平台的,非常节省资源的一套通信协议。这类协议的特点就是预设场景很简单,发送和接收信息都是一次,报文尽量简短。融云在设计自己的协议 的时候参考了物联网协议,当然,我们也参考了其他业界比较优秀的协议,比如我们还要发送图片、多媒体内容,所以加了很多自己的业务模型在基本协议里。

这第三类例子,其实代表的是业内很大一部分的通讯协议,即各个公司私有定制的通信协议,从互联网早期的雅虎 、 MSN 、 到移动互联网时代的微信, 它 们其实都是私有协议。这些私有协议支撑的是一种 OTT 业务,跨过电信运营商来提供即时通讯服务。移动互联网时代,App 开发者和他们的用户们其实并不需 要 关心底层是怎么实现的,只要一个用户能和另一个用户发送信息就可以,对于这样的场景,其实根据它们的需求定制一套私有协议是最好的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top