「融云分析」选择 IM 云服务,需要看哪些核心技术指标?
2019/7/18 11:35:18
IM(即时通讯)云服务已发展数年,不少企业与开发者都倾向于选择第三方 IM 云服务,短平快地为应用添加即时通讯能力,但如何选择服务商却是个难题,单从简单的功能介绍来看无法判断,因为 IM 云服务接入后,更重要的是检验服务是否稳定。近期艾瑞发布的《全球互联网通信云行业研究报告》指出,通信云行业的竞争壁垒将在于核心技术关键指标,包括质量和性能指标。
在 IM 领域,艾瑞认为核心质量指标为可靠性,即消息的不丢失和不重复。此外 IM 服务还需要考量并发处理能力等性能指标等。在艾瑞报告中,融云是被评定为IM领域市场占有率第一的互联网通信云服务商,也是业内唯一承诺消息不丢、不重、不乱序的厂商。下面便来从技术上剖析下,融云利用了哪些手段实现稳定可靠的IM云服务。
一、基于融云私有通讯协议,实现服务的可靠性与安全性。
1.可靠性
即时通讯系统的可靠性体现在消息的可达率,也是 IM 最基本的质量要求:融云是业内唯一承诺消息可靠性 100% 的厂商。融云基于私有通讯协议,可实现:弱网环境下,消息发送方消息只要发送到服务器端,则服务器端能确保消息不丢、不乱、不重。
“不丢”是因为消息接收方客户端与服务器端通过推拉相结合的方式,确保消息一定能收到接收方客户端。“不乱”是因为在协议层面上针对每个数据包都做了序号标识处理。“不重”是当消息接收方收到消息后,因网络问题导致消息收到的回执未能发送给服务器端,服务器端超时处理会进行消息的重发,当客户端再次收到同一条消息时,会抛弃一条,只给用户显示一条。
2.安全性
基于融云自有知识产权的连接加密技术,可以防止黑客中间人方式进行数据窃听,数据在传输过程中不可破解,NAV 导航服务与 CMP 连接管理服务的安全算法一致,每个客户端从导航服务获取到加密校验值(SM2 标准),均按照安全算法与所连接的 CMP 服务进行安全协商,针对校验值 CMP 会进行合法性验证(SM3 标准),协商的校验值不能在其他 CMP 连接管理服务上使用,消息在传输之前,通过 SM4 对数据进行加密,并且通过加密连接传输将信息发送到发送方所在 CMP 连接管理服务。之后,由发送方所在 CMP 连接管理服务进行解密并将解密后的消息发给消息服务,依据协议内容,由消息服务负责将信息传递给接收方所在 CMP 连接管理服务,而后 CMP 连接管理服务依据接收方的密钥进行信息加密,通过加密连接下发信息。
二、基于分布式微服务架构,保障亿级高并发性。
对于 IM 云服务,海量消息并发的稳定性也至关重要,比如一些场景出现同时在线人数飙升,需要实现自动水平扩展,应对海量并发。融云 IM 云服务采用分布式的微服务架构可以实现亿级消息的高并发,主要分为网关服务和应用服务两大类,各服务通过 Zookeeper 完成服务注册以及服务发现。所有的服务均可以采用集群化的方式部署,服务间的数据调用采用一致性哈希的方式进行集群负载。
1. 服务的高可用性
服务节点通过 Zookeeper 在集群中同步自己节点状态,各节点可以快速的发现其他节点变化。通过哈希算法的散列特性,可以将请求均匀的分配到应用节点上,以达到均衡服务器资源利用的目的。
当同一服务节点的个数为 N+1(N>0)时,某一个服务节点发生关闭或宕机,其余节点会立刻收到问题节点的状态变化通知,将其从一致性哈希环中将其剔除,后续请求将不会分配到此节点上,而剩余节点依然可以继续提供服务。通过一致性哈希的特性,问题节点的请求可以均匀的分布到其他节点上,不会出现连锁雪崩现象。
2. 服务的可扩展性
以“服务的启动及发现流程”为例,所有的服务都可以在线添加。而服务完成注册及发现流程后既可以对外提供服务
下一页
返回列表
返回首页
©2024 物联网世界--物联网资料和交流中心 电脑版
Powered by iwms