当前位置: 首页 > news >正文

【融云分析】选择IM云服务,需要看哪些核心技术指标?

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.服务的可扩展性
以“服务的启动及发现流程”为例,所有的服务都可以在线添加。而服务完成注册及发现流程后既可以对外提供服务。

三、基于全球多节点覆盖,保障全球服务的稳定性
IM云服务依赖于广域IP网络进行实时消息传递,通信质量对网络稳定性比较敏感,主要体现在网络延时、网络丢包和连通率等多方面。若实现跨地域跨国家的高质量通信,则需要降低网络延时与网络丢包的出现以及提高连接率。融云通过搭建全球通信加速网络解决上述问题,通过专线网络有效控制延迟、丢包等问题,以及搭建了更多的边缘节点解决了地域连通率等问题。

融云在全球设立了多数据中心,具备3000多个加速点,通信网络已经覆盖全球所有国家及地区(233个),可为客户随时随地保障至少3个就近节点提供接入,少次跳转就能链接到目的地,连接速度更快,连通效率更高。此外,通过海外链路优化,可实现更智能的链路调度,向客户端同时提供多条可选链路,自动切换的解决模式,有效解决客户通信跨地域、跨国家的“网络延迟”及“丢包”等问题。通过实时监控全球网络,基于融云分布全球的数据中心与节点建设,向客户提供链路接入方案。
在这里插入图片描述
通过融云全球通信网络加速,欧洲用户直接访问北美数据中心网络延时一般在350500ms之间,丢包率6%,网络连接成功率只有90%;采用融云全球链路加速后,欧洲用户直接访问北美数据中心,网络延时可缩短至200250ms之间,丢包率几乎为0,最高不超过0.1%;再借助融云全球智能动态网络优化策略,网络连接成功率可提升到99.5%以上。

结语:IM即时通讯做不好将是一个填不完的“坑”,尤其是用户量起来后,收发消息延迟等等各种问题都会出来,严重影响用户的体验,试错成本也非常大。IM的稳定性背后需要厂商多年的技术积累,才能帮助用户把“坑”跳过去,实现一个稳定可靠的服务。目前市场上的服务很多,竞争越激烈,使用即时通讯云的企业或者开发者必须做到“火眼金睛”,对以上因素进行综合性判断,然后做出一个好的选型。

注册融云账号查看更多详情

相关文章:

  • 融云微课堂第五讲 | 基于原生代码开发 Flutter 插件
  • 融云观察:招聘市场新红利下的斗米之策
  • 【融云分析】去中心化的RTC通信服务平台
  • 【融云分析】基于原生代码开发Flutter 插件
  • 融云IM商用版冰点促销 助程序员的十二时辰躺赢
  • 程序员准点下班的小秘密
  • 融云观察:壳壳语音新玩法,深挖语音社交市场
  • 站在Z时代社交风口 融云打造语音聊天室新模式
  • 融云重磅推出”ALL IN”行动 率先提出服务品牌化
  • 融云微课堂第七讲 | 融云音视频SDK的实战进阶
  • 首届全球互联网通信云大会重磅来袭 融云邀您洞见通信未来
  • 大咖云集!2019全球互联网通信云大会讲师团曝光
  • 融云亮相GTC全球流量大会 荣膺鲸鸣奖2019年度优秀出海服务商
  • 转动“魔方” 探秘融云消息管理服务先进性
  • 剧透全球互联网通信云大会:融云核心技术首曝光
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 2017前端实习生面试总结
  • Debian下无root权限使用Python访问Oracle
  • gcc介绍及安装
  • IndexedDB
  • Joomla 2.x, 3.x useful code cheatsheet
  • js正则,这点儿就够用了
  • Mac转Windows的拯救指南
  • Next.js之基础概念(二)
  • Sublime text 3 3103 注册码
  • TypeScript迭代器
  • ucore操作系统实验笔记 - 重新理解中断
  • 搞机器学习要哪些技能
  • 记一次删除Git记录中的大文件的过程
  • 精彩代码 vue.js
  • 理清楚Vue的结构
  • 普通函数和构造函数的区别
  • 前端攻城师
  • 巧用 TypeScript (一)
  • 使用 QuickBI 搭建酷炫可视化分析
  • 写给高年级小学生看的《Bash 指南》
  • 用jQuery怎么做到前后端分离
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (论文阅读11/100)Fast R-CNN
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET企业级应用架构设计系列之开场白
  • @我的前任是个极品 微博分析
  • [20181219]script使用小技巧.txt
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [8-27]正则表达式、扩展表达式以及相关实战