发布时间:2021-8-4 分类: 电商动态
2021年3月20日,融云X-Meetup技术沙龙首次在重庆启航在此次沙龙上,融云, WebRTC的苏道,开发工程师、shell和shell互联的张熙文,软件工程师、融云, IM的齐新兵,高级研发工程师来自王伟,负责探索科技国际化的四位技术专家围绕“设计高质量、高并发的实时通信架构”这一主题,与开发者分享了宝贵的实践经验。
X-Meetup技术沙龙:重庆站
融云演讲《大规模音视频会议实践》和《大规模即时通讯客户端日志系统实践》分别介绍了超大规模会议场景的优化策略,如何从RTC和IM通信云产品做好日志系统和效果评估,回答了开发者对底层通信架构设计的困惑;壳与壳互连和探索技术在实践中也分享了各自的系统优化策略。
大型音视频会议通信架构优化设计策略
疫情打破了空间的限制,音视频会议越来越普遍。每个人都接受并更加习惯了在线会议的便利。2021年,伴随而来的一个变化是,大型、超大型(500人)音视频会议的需求在悄然增加。
在20人以上的会议场景中,现有多对多网络架构中SFU与WebRTC的兼容场景无法很好的解决。如果500人的会议直接选择参与者之间的音视频交互,那么音视频数据的完整转发对服务器资源的需求很大。此外,大量人员同时访问会议,服务器上下游流量急剧增加,进一步加剧了服务器资源压力。
苏道,融云WebRTC开发工程师,当场回答了提问
在不稳定的网络环境下,要解决上述问题,保证通信质量的稳定,最根本的解决办法就是设计合理的通信架构。融云苏道分享道,可以通过订阅转发点播和音频流量优化两种策略优化通信架构,在保证效果的前提下,将大大缓解服务器的压力。
具体来说,点播订阅转发策略要做到以下几点:一是支持个人订阅某个人的某个视频或音频;第二,接收端只订阅说话人的视频,所有音频都订阅;第三,按需订阅视频大小的流。目前,融云SDK在发送端支持视频编码,支持大小流,接收端按需订阅大小流。大流清晰度高,码率高;小流清晰度低,比特率低。这样,当接收者想要观看清晰的视频时,就订阅了一个大的流;清晰度不高的时候订阅小流量。此外,弱网下的融云支持大小流自动切换,保证视频流畅。
优化音频流量策略,减少音频流量,主要要做到以下几点:一是发送方沉默时不发送数据;第二,调整音频码率;第三,服务器发出卷TopN。正常情况下,客户端接收音频流,音频解码后,默认只播放混流中音量最高的三种声音。因此,必须避免不必要的音频包转发,以减少服务流量,只有有效的音频包才会进入下游分发队列。
另外,为了优化音频体验,还要注意级联情况的处理,大型会议室和普通房间之间的切换等等。最后,苏道鼓励开发人员说:“架构从来没有失败或成功过。可以先做,先用,再进一步优化迭代,满足更多人、更多场景的需求。”
大规模即时通讯客户端日志系统的实践
日志是记录系统中各种问题信息的关键,大规模即时通信的客户端日志系统包含海量数据。随着业务的发展壮大,日志平台不得不经历迭代升级。大多数开发人员对日志系统的要求是:完整性、及时性、上传成功率和可见性。
针对上述需求,融云, IM 齐新兵,高级R&D工程师分享了如何升级日志系统的实践。他认为日志系统首先要灵活控制日志上传。根据各客户应用发布的日志配置,最好间隔10秒左右上传日志,允许上传失败重试5次,保证日志上传的及时性和成功率;同时,应该有被动上传和主动上传机制,便于有针对性的故障排除。
其次,保证移动日志的统一性。这就需要统一写日志模块,保证逻辑的统一;梳理标签,确保日志标签内容一致;底层数据库模块应统一编写,数据格式两端一致,有效保证日志的可见性和完整性。此外,还要有日志标签的黑名单功能,黑名单中的日志将不再入库上传,一定程度上减少了日志量,减轻了服务器的成本压力。
日志最重要的意义是在客户之前发现问题,同时及时发现自己的问题,从而保证高质量的SDK为客户服务。因此,齐新兵认为大规模即时通讯的客户端日志系统需要更多的测试,不怕暴露问题,以提升开发者体验。
现场社交和社交系统架构实践
在直播社交领域,贝壳互连软件工程师张熙文,分享了《直播社交系统架构升级》的最佳实践。他认为,影响直播社交日常生活的重要指标是用户感知和视觉体验。简单来说,用户感知就是如何减少延迟。理论上,如果直播延时超过150-200毫秒,人脑是可以感知到的。在实践中,壳与壳互联分别在服务器端和客户端对技术协议和技术方案进行了优化,最终实现了界面请求速度提升20-40%,单位时间服务器请求承载能力提升30%左右,社交直播中用户感知速度提升。
直播社交受众对视觉体验的要求更高,主要是指主题皮肤的框架设计,包括合理修改UI元素的属性、重新排列特定UI元素、可操作的主题皮肤、可销售的主题皮肤等。为此,张熙文专门分享了主题皮肤的设计框架技术图,启发开发者从中获得新的思考。
壳与壳互联张熙文共享主题皮肤设计框架技术图
此外,负责探索科技国际化的王伟,也带来了《基于探探IM系统的优化分享》。从
探索即时通讯体系结构、接入层、转发层和服务层、通信协议、通知机制等
并发下高质量实时通信的架构设计探索。
X-Meetup技术沙龙下一站:南京
X-Meetup技术沙龙由融云于2020年组织发起。每期聚焦“全球通信云技术的发展与探索”主题,邀请特定行业的技术专家作为神秘的“X”人,与融云分享开发者最关心的前沿技术和最佳实践今年首站重庆启航后,3月27日在南京的下一站正在火热报名中。融云期待与开发者分享音视频实战的难点和解决方案。已经报名参加会议的开发者也将享受独家