网易云怎么握手,网易云怎么结束一段关系

首页 > 生活 > 作者:YD1662024-11-12 00:14:47

上行消息通过反垃圾监测后被投递到弹幕服务处理。基于优先级队列的弹幕服务首先按业务划分不同的消息队列,例如:系统广播、高优先级礼物、低优先级、弹幕,然后按队列分配消息比例,最后根据单位时间(1秒)内用户需要接收到的消息量计算各个队列应该投递的消息数量。在实际投递消息的过程中,若前一个队列消息量不足,可将剩余的消息数量叠加到下一个队列,以确保每一个周期都发送足够的消息给用户。

弹幕可通过长连接或CDN广播给其他用户。为了给用户提供极致的弹幕体验,充分发挥边缘加速的优势,在千万级在线直播场景下优先选择CDN方案,如下图:

网易云怎么握手,网易云怎么结束一段关系(5)

基于CDN广播弹幕有两种方案:

相对来说,静态文件加速方案实现更简单但实时性不高(取决于弹幕同步的周期时长);推流的方案消息实时性更高,但实现相对复杂,且需要考虑到不同终端的兼容性。实际项目中可根据场景和终端类型灵活选择不同的方案。

为了保障服务的可靠性,可考虑融合CDN的方案,即同时将消息推送到多家CDN厂商,并结合CDN厂商的容量比例以及网络延迟情况综合调度(例如基于权重的轮巡调度策略)。

弹幕稳定性设计

1. 单元化部署

网易云怎么握手,网易云怎么结束一段关系(6)

ChatLink和ChatServer采用单元化部署的方案,有以下优点

  1. 单元内依赖的核心服务单元之间相互独立,水平扩展能力好,且单元内服务故障不影响其他单元,可以有效避免整个服务不可用的问题;
  2. 跨机房部署,避免单个机房容量不足,或单机房不可用问题;
  3. 弹幕方案采用了单元无状态的设计理念,因此不需要考虑单元之间同步数据的问题。

单个直播间的“接入服务”和“弹幕服务”因需要全局控制未采用单元化部署方案,但是在实施阶段采用了跨机房部署的方案(包括依赖的存储资源、服务),可以避免单个机房故障导致服务不可用的问题。

2.单点服务高可用

针对“接入服务”和“弹幕服务”,除了采用跨机房部署外,在服务设计上核心依赖的存储资源、服务,采用主备模式。例如心跳负载依赖的缓存服务,单个缓存实例本身高可用,但考虑到极端情况(例如缓存集群内超过一半的服务器宕机导致服务不可用),因此采用主备缓存集群方案,当主集群不可用后,业务主动切换到备用集群,可保障业务在5秒内恢复正常

3. 系统监控与数据大盘

为了实时了解系统运行状态,在弹幕方案中实现了秒级数据大盘方案。监控大盘围绕用户和消息,展示用户地域分布变化、上行消息量、广播消息量、机房出口带宽、CDN带宽、消息流控比例,端侧CDN弹幕同步指标(成功比例、延迟状况)等信息。

为了达成秒级监控的目标,数据收集采用了“业务预聚合 数据中心合并”的实时计算方案。即业务服务直接在本地进程内聚合计算指标上报到数据中心,数据中心仅需要按时间窗口合并监控指标数据即可输出到监控大盘。

网易云怎么握手,网易云怎么结束一段关系(7)

4.故障与应急预案演练

为确保活动顺利完成,弹幕方案进行了多次故障与应急预案演练措施。具体包含两个方面:

  1. 预设故障演练:即针对高可用设计方案的故障演练,按预设有计划的制造故障,主要验证高可用方案是否生效。
  2. 随机故障演练:无计划的随机制造故障,主要用于检查应急预案、异常监控报警、数据大盘等应急监测机制是否生效。
结束语

凭借超过20年的技术累积和5年企业融合通信经验,网易云信在线直播弹幕方案在TFBOYS「日光旅行」七周年演唱会上以0故障的佳绩交上了一份满意的答卷,携手网易云音乐共同成就了这场口碑票房双丰收的线上演唱会。

*各渠道文章转载需注明来源及作者

关注“网易云信”头条号,听取最新前沿观察,看最有价值技术干货,学网易最新实践经验。陪你从思考者成长为技术专家

上一页12末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.