乐趣区

关于音视频:融云2021-XMeetup启航-探索高并发下的高质量实时通信架构设计

2021 年 3 月 20 日,融云 X -Meetup 技术沙龙首站在重庆启航。本次沙龙,融云 WebRTC 开发工程师苏道、壳壳互联软件工程师张熙文、融云 IM 高级研发工程师齐新兵、探探科技国际化技术负责人王伟四位技术大咖,围绕如何实现“高质量高并发的实时通信架构的设计”这一主题,向开发者们分享了贵重的实践经验。

X-Meetu p 技术沙龙:重庆站

融云《大规模音视频会议实际》和《大规模即时通讯客户端日志零碎实际》的演讲,别离从 RTC 和 IM 通信云全线产品,向开发者介绍了超大规模会议场景优化策略、如何做好日志零碎及成果评估,解答了开发者对于底层通信架构设计的困惑;壳壳互联和探探科技也各自分享了在实践中的系统优化策略。

大规模音视频会议的通信架构优化设计策略

疫情突破了空间的局限,音视频会议越来越广泛,大家接收并更习惯了线上会议的便捷性。进入 2021 年,随之而来的一个变动就是,大规模以及超大规模(500 人)的音视频会议需要悄悄在增长。

在超过 20 人会议场景下,现有的多对多网络架构 SFU 与 WebRTC 的兼容场景就无奈很好地解决。如果 500 人的会议,间接抉择参会人之间进行音视频互动,音视频数据的齐全转发对服务器资源的需要是微小的,再加上会议中有大量人员同时接入,服务端上行流量和上行流量陡增,更加剧了服务器资源的压力。

融云WebRTC 开发工程师 苏道 现场答疑

在不稳固的网络环境中,要解决上述问题,同时还要保障通信品质的稳定性,最基本的计划是设计正当的通信架构。融云苏道分享道,能够通过按需订阅与转发、优化音频流量两种策略优化通信架构,在保障成果的前提下,将极大缓解服务器的压力。

具体来说,按需订阅与转发策略 应做到以下几点:第一、反对独自订阅某个人的某路视频或某路音频;第二、接收端仅订阅正在谈话的人的视频,音频全副订阅;第三、按需订阅视频大小流。目前,融云 SDK 反对发送端视频编码,反对大小流、接收端按需订阅大流或小流。大流的清晰度高,码率高;小流的清晰度低,码率低。这样当接收端想观看清晰视频的时候订阅大流;对清晰度要求不高的时候订阅小流。另外,弱网下融云反对主动切换大小流,以保障视频的流畅性。

优化音频流量策略,升高音频流量 则次要应做到:第一、发送端静音时不发送数据;第二、调整音频码率;第三、服务器下发音量 Top N 路。个别状况下,客户端收到音频流,在音频解码后,默认仅混流播放音量最大的 3 路声音。因而肯定要防止不必要的音频包的转发,以缩小服务流量,只有无效音频包,才会进入到上行散发队列。

除此之外,为了优化音频体验,还需注意级联状况的解决、大会议室房间和一般房间之间的切换等多个方面。最初,苏道激励开发者道,“架构从没有失败和胜利之说,都是先做得进去且可能用,而后再进一步优化迭代,满足更多人、更多场景的须要。”

大规模即时通讯的客户端日志零碎实际

日志是记录零碎中各种问题信息的要害,大规模即时通讯的客户端日志零碎蕴含了海量数据。随着业务的倒退与增长,日志平台也要经验迭代降级。绝大部分开发者对日志零碎的要求是:完整性、及时性、上传成功率、以及可视性。

针对以上诉求,融云 IM 高级研发工程师齐新兵分享了日志零碎如何降级的实际。他认为,日志零碎 首先要做到灵便管制日志上传。依据每家客户利用下发日志配置,日志上传工夫最好距离在 10 秒左右,并容许上传失败重试 5 次,以确保日志上传的及时性和上传的成功率;同时还要有被动上传和被动上传机制,以不便针对性的排查问题。

其次,保障挪动端日志对立。这须要对立编写日志模块,保障逻辑对立;梳理标签,保障日志标签内容统一;对立编写底层数据库模块,数据格式要两端统一,从而无效保障日志的可视性和完整性。除此之外,还要有日志标签黑名单性能,黑名单内的日志不再入库,不再上传,肯定水平上缩小日志量,加重服务器的老本压力。

日志最重要的意义在于先于客户发现问题,同时也可能及时发现本身问题,确保以高质量的 SDK 服务客户。因而,齐新兵认为,大规模即时通讯的客户端日志零碎在研发过程中,须要多测试,不怕裸露其中的问题,能力晋升开发者体验。

直播社交及社交的零碎架构实际

在直播社交畛域,壳壳互联软件工程师张熙文分享了《直播社交零碎架构降级》的最佳实际,他认为,影响直播社交日活的重要指标是用户感知和视觉体验。简略说,用户感知就是如何缩小提早,实践上直播提早超过 150-200ms 便能够被人脑感知。实际中,壳壳互联在服务端和客户端别离进行技术协定和技术计划的优选,最终达到接口申请速度减少 20-40%、单位工夫内服务器申请承载量减少 30% 左右,用户在直播社交中的感知速度晋升。

直播社交受众对视觉体验的要求更高,这次要指主题皮肤的框架设计,包含正当批改 UI 元素的属性、从新布局特定 UI 元素、可经营主题皮肤、可发售主题皮肤等,因而,张熙文特地分享了主题皮肤的设计框架技术图,启发开发者从中取得新的思考。

壳壳互联张熙文分享主题皮肤的设计框架技术图

此外,探探科技国际化技术负责人王伟也带来了《基于探探 IM 零碎的优化分享》。从探探 IM 架构、接入层、转发层和服务层、通信协议、告诉机制等不同方面介绍了探探对高并发下的高质量实时通信架构设计的摸索。

X-Meetu p 技术沙龙下一站:南京

X-Meetup 技术沙龙是融云 2020 年组织发动的,围绕 ” 寰球通信云技术的倒退与摸索 ” 为主题,每期邀请特定行业的技术大咖作为神秘“X”人,与融云一起分享开发者最为关怀的前沿技术和最佳实际。往年首站重庆启航后,下一站 3 月 27 日南京站正在炽热报名中,融云期待与开发者们共叙音视频实战的窘境和解决之道,报名到会的开发者,还将享有专属惊喜礼品,以及与“X”技术大咖独自交换的机会。

退出移动版