网易云信:IM云平台发力互联网下半场

[摘要]来源:微信公众号大数网,文 李响很多时候,即时通讯服务就像是一个黑盒子,我们知道它能解决什么问题,却不清楚它是怎么做到的。IM有多重
来源:微信公众号“大数网”,文/李响

很多时候,即时通讯服务就像是一个黑盒子,我们知道它能解决什么问题,却不清楚它是怎么做到的。

IM有多重要?来看一组数据:94%的用户每天登录微信,61%的用户每天打开微信超过10次,每天超过30次的重度用户占36%;使用时长方面,55%用户每天使用微信超过1小时,使用时长超过2小时的用户占比32%,无论使用频率还是时长,微信都表现出了强大的用户粘性。

其实,在微信之外,我们仍然时时处处享受着IM带来的好处。

比如,年初一个朋友厌倦了办公室生活,辞掉工作干淘宝了,为了招揽生意,更多时候她夜里不睡,忙着直播,完全是一个小网红。她很认真地跟我说,刚开始直播的时候,拿着自家的衣服不知道要说什么,尴尬癌都要犯了,幸好观众可以直接提问,她看到了就按照客人的要求,展示商品细节,慢慢地有一些粉丝还会在直播里给她送花送礼物,她竟然爱上了这种方式——不管是几十万人还是几十人观看,没有IM带来的鲜花弹幕,直播得有多无趣?

又比如,我们最常使用的电商,过去需要启动单独的PC客户端,和商家沟通,遇到售后问题或者比较着急的情况,就只能通过电话沟通。而进入移动时代,移动IM让沟通前所未有地便捷,随时随地都可以和商家联系,售后对商品或交易有问题,可以随时拍照上传,分分钟就能解决。

而在更多移动场景下, IM都扮演着重要的角色。比如热门的医疗、教育类应用,想象一下如果没有IM,体验得变得多差?病人描述病情,向医生提问,第二天才能收到答复,还很有可能是医生对病情的追问,来来回回半天,病人还不如去医院;学生写作业,遇到不会的问题,上网找个老师问一下,可是不能及时回复,第二天该交作业了,题还是解不出,这样的应用岂不是丢了帮助病人和学生的初衷?

移动时代,即时通讯早就成了刚需,是最通用、最活跃的入口级应用。在产品开发节奏加速和IM技术难度大的双重作用下,能同时做到稳定、高并发、高可用是移动IM云服务平台的关键,而对此,网易云信已经潜心研究了16年。

分层架构,确保平台稳定和高可用

对绝大多数开发者来说,采用高质量的云平台方案嫁接IM功能,是最高效且最经济的选择。看起来简单的IM消息,其实背后的要求很高。首先就是要确保即时性,新消息能够立即收到或者立即推送后台通知;同时通信必须稳定可靠,系统不宕机,程序不崩溃,传递消息时不会被拦截监听,消息不丢、不乱、不重复。如果包含音视频聊天,还要求延迟低、流畅不卡顿。

网易云信首席架构师周梁伟演讲

为确保服务的稳定性,据网易云信首席架构师周梁伟介绍,云信的IM云架构将整个系统分成了客户端SDK层、连接层、路由层和业务层,并在各层之间都提供良好的弹性扩容能力和业务隔离能力。

在稳定性方便,运行客户端SDK层能够适配安卓、iOS、Windows PC桌面端、web页面端和嵌入式设备等多种开发平台,并采用长连接机制,以SDK+心跳的方式监测短线和自动做重连,同时针对移动网络弱网环境,进行大量优化,实现稳定性。而针对不同设备端平台,运行采用不同协议,能够完美解决兼容性问题。

在可用性方面,云信在客户端与服务器之间采用长连接优化,不仅可支持平滑升级、跨网络切换、广播分包等,而且极大提升了消息上下行的速度,并在数据传输过程中,对数据包压缩传输,提升消息收发的速度。在接入网关的选择策略中,通过并行来提升连接建立的速度,并借助LBS服务,帮助客户端寻找到最适合的网关接入点。

除此之外,云信集成了网易自研的分布式数据库,分布式缓存和对象存储服务等基础平台,使云信在面对业务扩容需求时更加从容。并且对所有在公网传输的数据都进行了加密压缩,能够有效防止中间人攻击和数据包回放等攻击手段,确保通信过程中的信息安全。

连接层管理优化,支持千万级高并发

在点对点通信之外,IM更大的场景还在于群体并发沟通。

今年中秋,某卫视通过扫描二维码的方式进行观众互动,观众扫描后可以发布消息,也能与其他评论观众互动。电视晚会覆盖全国上千万观众,参与二维码扫描的活跃人数超过50万,并发在线人数达到10万以上,广播消息的峰值也维持在每秒1000万以上。这是典型的突发高流量场景,任何的慢和卡顿都会直接影响活动效果。

相似的情况还有在线秀场的直播,不同于晚会,直播平台会同时有成百上千个直播间,而且单个房间的同时在线人数从几十人到上千万不等用户活跃行为既有突发性,也有明显的持续性。

这是多大的挑战?

IM点对点的消息分发模式非常依赖用户的在线状态。在消息分发过程中,假设一次在线状态的查询需要10ms,如果有100人发送消息,仅查询在线状态的开销就要1秒钟,而这个时间开销还会随着消息接收人数的增加而成倍递增,再加上中间消息包的网络分发开销,消息处理的时间很快就会到达瓶颈。在多人聊天室场景下,这个问题就尤为突出。

“稳定、安全、快速是云信的三个关键词,而消息快速到达的前提,是客户端和服务器之间稳定、快速的连接,所以连接层可以理解为奠定云信服务稳定性的基石。” 周梁伟说,为此,云信针对连接层进行了三大优化:

优化一,通过边缘节点优化网络拓扑。鉴于IM对网络质量的敏感特性,目前,网易云信在美国,欧洲、中东和东南亚等很多国家和地区都提供了区域性的边缘加速节点,大幅提升连接的稳定性和速度。通过优化,客户端到IDC中心的速度提升60%,消息丢失率也从之前的20%+降低到0%。

优化二,场景化的消息分发机制提升吞吐率。针对高并发的聊天室场景,网易云信实现了一种消息分发的广播模式。比如100万人的聊天室,所有用户分布在10个连接节点上,一条广播消息在分发过程中只需要查询一次在线状态,而且不同的节点之间完全可以并行处理。这使得一个百万量级的消息分发可以秒级处理完成,有效控制了消息到达的延时情况。

也正是因此,网易云信在中秋晚会中,仅需分配6台云主机就能够承载晚会的全部观众互动。而在直播平台,10台云主机为能够承载超过百万的单日活跃人数和超过2亿的单日消息总理,以及10万人以上的并发在线用户数峰值。

优化三:集群化解决单节点性能瓶颈。通过组建集群来对业务处理能力做水平扩展是云信常用的一种方法。网易云信使用nginx作为前端代理,并把SSL的处理过程移到了nginx上,并使用性能较好的服务器来做nginx代理服务,而在后端WebLink上直接使用http协议,极大提升了后端节点的处理能力。通过这种代理方式,在4核8G的虚拟机上,单个节点的承载能力从1万连接数飙升至10万。

专业运维和行业服务能力

从2015年10月上线至今,网易云信已成功接入超过15万APP开发者,覆盖用户达到惊人的5亿以上。在网络和区域上面覆盖了196个国家,567个地区,并保证100%的送达率。除此之外,还获得了国内即时通讯云服务领域的首个CSA-STAR,ISO27001认证和ITSS云计算服务能力增强级认证,并已拥有56项认证专利。

显然,作为移动IM云服务平台,网易云信并没有将自身定位为狭义上的社交工具,而是一个OTT服务,以IM为切入口,为用户提供一个可以实现任何意义上连接服务的管道,而这个服务可以是电商、社区、也可是教育平台等。

在“管道”这个基础设施之上,云信平台服务更加看重易用性和稳定性。为此,云信团队从网易研究院和易信服务中,总结了16年的技术沉淀,以及基础设施的搭建和过亿用户产品的线上运维经验和实践,保障有效的应对各类突发问题,让平台更加稳定可靠。

同时,云信提供更为专业的“T服务”,包含网易云信技术顾问服务体系、客户顾问服务体系、用户信任服务体系三大块,一站式快速响应和解决开发者和用户的问题,是业内唯一一家提供1对N、7X24小时即时响应技术支持服务的团队,并为客户提供专业的技术培训服务。而在用户信任体系中,网易云信不仅提供故障赔偿、邮件短信双重预警、1月信用额度等保障服务,还特别成立了网易云信用户信任中心,把产品升级、专利技术、第三方机构云认证等方面的信息同步公示给用户。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。