IM、RTC技术两生花,看融云如何打造“IM+RTC+Push”一站式通信云服务

11月9日,融云宣布完成数亿元人民币的D轮融资。从李佳琦和明星扎堆的电商直播,到疫情期间在线教育的全面普及,再到5G技术进入商用,实时音视频技术(Real-Time Communication,以下简称RTC)迎来了全面的爆发,以IM及RTC为基础的通信云赛道持续被资本看好。近日,CSDN采访到融云CTO(首席技术官)杨攀、CPO(首席产品官)任杰,对于通信云技术难点、使用场景等问题,他们给出了赛道“参赛者”的回答。


描述融云CRO杨攀

融云CTO杨攀

在这里插入图片描述

融云CPO任杰

记者 | 宋慧
受访嘉宾|杨攀、任杰
出品 | CSDN(ID:CSDNnews)


在这里插入图片描述

IM独占鳌头,RTC厚积薄发


融云创立于2014年,核心团队来自中国移动的飞信团队。那是移动互联网的火热时代,融云占据了即时通讯(Instant Messaging,简称 IM)开发工具与服务的大量市场份额。

对于切入RTC赛道,杨攀表示,融云成立之初的目标,就是给客户提供基于IP的通讯能力。所有通过互联网提供通讯能力的服务,都在融云规划的技术路线图中。融云创业之初从IM入手,但在2016年底到2017年初,融云就已经开始了音视频的研究,前期经过大量政企客户的落地实践验证,例如私有云企业场景等,之后将RTC技术发布至公有云产品,现在融云的目标是致力于提供“IM 即时通讯 + RTC 实时音视频 + Push推送”一站式通信云服务。任杰认为,整个通讯场景中IM、Push、RTC的强耦合性,也让融云具备了与赛道中其他厂商所不同的核心竞争力。同时,融云也非常重视服务,如提供完备的开发者文档、多场景Demo,可视化的质量问题排查平台(北极星),1小时工单回复等等,形成整套的服务体系。

在这里插入图片描述

IM与RTC,融云的技术两生花


从技术层面,杨攀与任杰分享了RTC与IM的不同特点以及融云在RTC和IM研发中的不同侧重点。任杰认为,虽然两者都是去中心化的分布式架构设计,但IM业务属性更强,也更注重业务的逻辑,产品层面IM功能多,接口更多,同时IM是低IO(Input/Output)的非实时性业务,更侧重高并发和海量消息处理。在技术架构的设计中,会设置限流限速的策略,保证系统在消息发送速度和整体稳定性之间做出平衡。RTC的工具属性更强,数据不需存储,但RTC是高IO的实时性业务,每个链接的数据流量比IM大很多,技术上会侧重在通道层面数据流的接入与转发。

杨攀则提到了另一个两者的不同之处。他对CSDN表示,IM在技术界没有工业标准的协议,无论云计算和各类厂商,都需从零开始做全栈的业务开发,包括通信协议、服务端标准、整体架构等等,每个环节都要去设计和处理,这对于研发团队的挑战非常大。而RTC有音视频的开源项目WebRTC作为基础,很多公司都是基于开源项目进行二次开发。但RTC是个非常专业的技术领域,要想保障在任何网络环境下都有良好的音视频质量还是需要长期的技术经验积累和研发投入的。

同时,杨攀表示,两者的不同由业务场景与逻辑决定。IM需要维护海量的长链接,处理海量的消息接收、存储和分发。对于IM的每一条消息,数据都是不可丢的,都要保证必达,不能重复、不能丢失。 RTC更强调在复杂网络环境下,如何保证听到声音、看到视频,所以对于声音与图像的失真,涉及到大量的容错处理。此外,对音视频的编码与算法、声音的降噪、回声消除的技术,也是RTC不同于IM之处。

在这里插入图片描述

探索RTC场景,挑战颠覆性的体验


据融资新闻显示,融云的通信云服务已全面覆盖政务、金融、交通、能源、医疗、社交、直播、电商、教育和智能硬件等行业并提供场景化解决方案,日消息峰值高达2218亿,日均通话分钟数为2.6亿,日均消息量达150亿,SDK用户触达数超50亿。任杰对CSDN表示,按使用时长作为考量标准,目前融云客户使用量最多的三个RTC应用场景,是互联网娱乐、在线教育和智能硬件,这与互联网近两年的发展不谋而合。不过,杨攀和任杰将眼光投向了更远处。政企机构的在线协作以及更广泛的行业应用,例如金融非接触类业务、公安领域视频系统、政府便民服务等等,都是融云正在攻城夺寨的RTC场景。“音视频将深入到社会整体协作效率提升的方方面面”,杨攀如是说。

在这里插入图片描述

疫情期间在线教育全面普及


从技术趋势角度,5G带来了网络的高带宽、低延迟、海量连接三个最大特征,以及智能硬件的完善,杨攀透露融云在做更多关于传输更高码率视频、更低延时的RTC场景探索和研发,例如远程手术示教、智能眼镜、智能头盔、智能门禁、智能机器人、智能手表等等远程沉浸式交互体验。同时,融云也在举办开发者编程比赛,和广大的年轻一代开发者一起,探索创新的RTC应用场景。在杨攀看来,对于融云等众多的技术公司来说,5G技术、IoT、VR、AR等领域的快速发展,让融云有机会创造颠覆性的体验,甚至激发全新的商业模式。

在这里插入图片描述

远程医疗背后是RTC等技术的支撑

在这里插入图片描述

追求极致的研发团队,不变的Coding冲动


同时,融云也在追求技术驱动的团队模式,目前研发团队已占全部员工的70%,日常开发文化是和谐与互助,鼓励研发同事提出自己的观点。更重要的,融云研发团队的目标是追求极致,从产品质量、功能准确性、后期可维护性、可集成性,都需做到最好。更具体的,融云IM团队挑战的是在海量数据基础上跨数据中心的冗余与同步,对于RTC研发团队,更多聚焦于音视频在弱网下的编解码、算法,以及新的终端设备的适配。另外网络基础设施迭代、网络拓扑方案的调整,也是研发团队长期以来投入和研究的方向。

作为技术出身的管理者,对于是否还在一线写代码的问题,任杰立刻表示,想写!但是产品研发团队的分工细化,个人的技术没法得到体现了。除了技术层面,还有大量的经营、客户和其他工作,实在没有时间写代码(遗憾脸)。杨攀表示,日常会跟踪了解服务端技术、大规模高并发的最新技术、平台框架,因为要对产品研发的方向提出规划和指导。

最后,他们向CSDN读者分享了对自己程序人生影响最大的人和书。杨攀说道,对他技术成长路上影响最大的人是Delphi和.NET之父、Turbo Pascal编译器主要作者Anders Hejlsberg,杨攀初中就开始写C#,也是中国最早的一批 .NET 开发者。Anders Hejlsberg设计和编程风格对他的影响很大。

而计算机专业“科班出身”的任杰,对他影响最大的是一本书《设计模式》(作者GoF,1994年出版)。任杰提到90年代末程序界开发理念还停留在代码层、数据结构层面,《设计模式》当时作为一种新的思维方式,是真正把设计作为研发必备技能提出来的著作,让程序员更宏观的去看待研发这件事,值得阅读。(完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云助力浙江大学信息化建设,以实时数据驱动校园智能管理

随着网络信息化技术的不断进步,就我国高校而言,传统的学习和生活模式已无法满足学生的需求;老机房堆硬件的建设,给信息化深度建设的管理和运维工作人员造成了巨大的麻烦。这些因素促使各所高校对校园智能管理的需求日益剧增。 20…

1 元秒杀 1000+ 册爆款电子书,错过再等一年!

wow代码人们让钱包瑟瑟发抖的双十一已经来啦与此同时码不停蹄地向你奔赴而来的还有 CSDN 为你准备的???? 1 元秒杀 ????价值 3.5 万元的爆款电子书限时特惠,仅需 1 元你,准备好了吗仅限 1000 人速领????????????错过悔10年系列好书

谊品生鲜:放弃传统数据库架构,全站上阿里云

疫情之下,生鲜电商的订单突然暴涨。 社区生鲜龙头企业谊品生鲜就是一个典型代表。它的在线交易量激增,日订单量超过10万单。 对电商企业而言,这对业务是个巨大的好消息;但对于IT、对于谊品生鲜的核心业务系统则是一个巨大的挑战…

教你一招,如何解决 “这台电脑无法运行 Windows 11” 的问题

目录1. 系统兼容性检测2. 为什么我的电脑不能运行Windows 11?3. 最低系统要求4. 如何开启 TPM 受信任模块5. 微软坚持最低要求的理由6. 最新补充6.1 更新支持的 CPU 列表6.2 旧电脑也能安装 Windows 11,但后果自负微软于 6.24 正式推出了全新的 Windows …

Flink SQL 的 9 个示例

作者:贺小令(晓令) 本文由阿里巴巴技术专家贺小令分享,社区志愿者郑仲尼整理。文章基于 Flink 1.9 版本,从用户的角度来讲解 Flink 1.9 版本中 SQL 相关原理及部分功能变更,希望对大家有所帮助。主要内容分…

如何破解“中国开源拿来主义”?包云岗的几点分析

作者 | 包云岗责编 | 王晓曼本文经作者授权转载自包云岗知乎以下视频是2011-2019期间全世界开源代码贡献最多的城市排名:旧金山一骑绝尘,其他主要是美欧城市;亚洲有东京、首尔上榜;莫斯科也贡献突出。但是,很遗憾没有中…

uni-app获取腾讯地图计算两经纬度的实际距离(可批量)

地址 https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance getDistance() {uni.request({url: https://apis.map.qq.com/ws/distance/v1/matrix, //仅为示例,并非真实接口地址。method: GET,data: {mode: walking,from: 39.071510,117.190…

JavaScript 常用工具函数

目录 1. 为元素添加 on 方法2. 为元素添加trigger方法3. 转义 HTML 标签4. HTML 标签转义5. 跨浏览器绑定事件5. 加入收藏夹7. 提取页面代码中所有网址8. 动态加载脚本文件9. 返回顶部的通用方法10. 实现base64解码11. 确认是否是键盘有效输入值12. 全角半角转换13. 版本对比14…

JS前端常用工具方法

目录 1. 邮箱2. 手机号码3. 电话号码4. URL地址5. 是否字符串6. 是否数字7. 是否Boolean8. 是否函数9. 是否为null10. 是否undefined11. 是否对象12. 是否数组13. 是否时间14. 是否正则15. 是否错误对象16. 是否Symbol函数17. 是否Promise对象18. 是否Set对象19. 是否是微信浏览…

JS向数组添加元素,插入数据

js中对于数组的操作很常见,下面记录一下js向数组添加元素的方法。 let myArray[11,22,33];console.log(原数组:,myArray);myArray.push(44,55);console.log(用push在数组后面插入元素:,myArray);myArray.unshift(66,77);console.log(用unshif…

小程序 获取腾讯地图计算两经纬度的实际距离(可批量)_多地打卡

文章目录一、小程序1. 安装vue-jsonp2. 引入腾讯sdk3. 实例化4. 二点求距离5. 多点求距离文档地址:https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance申请开发者密钥(key): 申请密钥一、小程序 1. 安装…

前端常用 JavaScript 方法封装

目录 1. 输入一个值,返回其数据类型**2. 数组去重3. 字符串去重4. 深拷贝 浅拷贝5. reverse底层原理和扩展6. 圣杯模式的继承7. 找出字符串中第一次只出现一次的字母8. 找元素的第 n 级父元素9. 返回元素的第n个兄弟节点10. 封装mychildren,解决浏览器的兼容问题11. 判断元素…

H5 移动端 获取腾讯地图计算两经纬度的实际距离(可批量)_多地打卡

文章目录一、H5移动端1. 安装vue-jsonp2. 引入腾讯sdk3. 实例化4. 二点求距离5. 多点求距离文档地址:https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance一、H5移动端 1. 安装vue-jsonp npm i -S vue-jsonpmain.js //解决跨域 import {Vu…

JavaScript 中的 3 种 for 循环语句

1. for 应用较广,简单实用。 const array = [4, 7, 9, 2, 6]; for (let index = 0;</

GitHub 经典项目归集

目录 1. Vue32. Vue 源码解密3. 简历项目4. JavaScript5. Flutter6. TypeScript7. 前端必备在线工具8. 管理后台9. 数据结构与算法10. CSS 学习专题11. Node.js12. 小程序13. 前端监控14. 前端的代码规范15. 程序员必备仓库16. 设计

基于 vue 2.0 开发的轻量,高性能日历组件

文章目录1. 安装scss2. 安装日历组件3. 安装提示组件4. 注册组件5. 页面6. 效果图1. 安装scss npm i -D sass-loader8.0.2 npm i node-sass4.14.12. 安装日历组件 npm i vue-calendar-component --save3. 安装提示组件 npm install --save vue-component-toast4. 注册组件 …

Access中编写VBA代码时,如何区分、使用“.”和“!”

目录 1. 释义一2. 释义二3. 释义三1. 释义一 在 Access 以及其它一些使用 VBA 编程的软件中,点号(.)和叹号(!)的区别是让很多刚接触 VBA 编程不久的新手经常感到困惑的一个问题。 按照 VBA 的语法规则,点号(.)用于引用属性,叹号(!)用于引用集合对象,这个是最标准的定义。…

SQL数据库查询基础(主讲MySQL,必要时补充了SQLServer、Access兼容性说明)

目录 一. 逻辑运算符1. 执行的优先级2. 多个 or 子句的简化写法 - IN二. 模糊查询通配符 与 Like三. SQL语句中的计算字段四. SQL 子句的执行顺序五. 系统函数1. 拼接多个字符串字段2. 处理日期和时间3. 聚集函数六. Group By - 分组查询七. Having 子句注,文中如无特别说明,…

vue-cli 创建vue3项目

文章目录一、环境准备二、核心组件2.1. axios封装2.2. vuex2.3. vue-router一、环境准备 前提&#xff1a; # 安装node环境 node -v npm -v# 卸载旧脚手架工具 npm uninstall vue-cli -g or yarn global remove vue-cli# 安装新版的脚手架工具 指定版本vue/cli版本号 npm ins…

Excel VBA 处理图形图表详解

目录 一. 图表各元素在VBA中的表达方式1. 图表区2. 绘图区3. 数据系列4. 图表轴5.网格线6、数据标签7. 图表标题、图例和数据表8. 趋势线和误差线二. 图表类型三. VBA图表常用命令1. 获取工作表的行数2. 使用工作表函数检查 A1单元格中的数据是否为数字:3. 激活单元格区域 A 列…