当前位置:首页 > 生活 >

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

来源:原点资讯(www.yd166.com)时间:2024-11-12 00:14:47作者:YD166手机阅读>>

导读:8月22日,TFBOYS「日光旅行」七周年演唱会落下帷幕,顶级流量的在线直播,海量弹幕、礼物刷爆屏幕,网易云信为这场直播活动提供直播弹幕技术方案。本文将围绕千万级在线场景阐述直播弹幕的设计方案。

文|云信IM技术团队

8月22日,TFBOYS「日光旅行」七周年演唱会落下帷幕,36氪评价网易云音乐举办的这场线上演唱会“很可能会成为线上音乐演出正式走上历史舞台的一个标志性事件”。在这样一个打破吉尼斯世界纪录的“标志性事件”背后,是网易云信千万级在线直播间弹幕方案的技术支持。

弹幕技术方案

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

弹幕方案以云信聊天室服务为基础,提供登录直播间、发送弹幕、礼物消息等能力;以千万级在线广播为目标,设计了基于CDN的弹幕广播服务

直播间收发消息(弹幕、礼物)的基本业务流程如下:

  • 获取直播间接入地址
  • 登录直播间
  • 收发消息(弹幕、礼物)

下文将围绕以上三个阶段分别阐述如何实现千万级在线直播弹幕能力。

1.获取直播间接入地址

为了提供稳定高可用的弹幕服务,需要通过GSLB服务给用户分配最佳的接入地址。GSLB服务需要从用户网络类型、机房网络容量、服务器负载、成本等维度综合考虑。

用户网络类型和机房网络容量:为了用户能够快速、稳定的登录直播间收发消息,一般要根据用户所在地理位置以及网络运营商类型综合考虑给用户分类接入服务器。机房一般提供BGP网络、三线网络两种接入方案,分配服务根据用户IP地址分析用户的地域、运营商类型并分配最佳接入地址。一般优先按运营商类型分配三线地址(例如电信用户分配电信接入地址),如果是小运营商或无法识别的IP地址则分配BGP地址,两种接入方式用户都可以获得稳定的网络环境。

服务器负载:单台服务器能够承载的TCP长链接有限,尤其是在高并发进入直播间的情况下,握手协议需要完成链路加密工作,对系统的CPU资源消耗比较大,因此需要实现一套良好的均衡分配策略。

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

云信实现了一套基于服务器负载均衡的分配策略。长链接接入服务器周期性上报当前服务器负载到负载均衡服务集群,负载信息存储在共享缓存中,接入分配服务根据负载信息动态分配接入地址。

一般情况下用户请求直播间地址,地址分配服务会查询负载均衡服务(或者直接查询负载缓存),然后根据获取到的信息分配当前负载最低的服务器。在千万级别的在线直播活动场景下,开播时大量用户并发进入直播间,分配服务可达50万到100万TPS,这么高的TPS下如果还用“一般分配”方案,负载均衡(缓存)服务的TPS和集群之间的机房网络带宽非常高,单台服务器亦可能因为负载信息滞后导致超负荷分配。为解决机房内带宽和超负载分配的问题,我们对分配方案实现了以下优化:


  1. 长链接服务器上报负载的周期从1秒调整到5毫秒,负载均衡服务器可以更实时的同步负载信息
  2. “地址分配”服务不再按请求查询负载信息,而是开启单独的同步线程周期性(同样是5毫秒)同步负载数据,从而有效降低负责信息同步的TPS和网络开销。
  3. “地址分配”服务不在按最低负载分配,而是将服务接入地址按负载排序,单个接入地址分配一定次数后按顺序分配下一个接入地址(避免低负载服务器瞬间被打爆)

在实际方案落地中,需要结合负载、用户网络类型、机房线路容量等因素综合分配。

2.登录直播间

登录直播间主要有两项任务:握手和身份认证。

握手:SDK建立TCP长链接后,首先向服务器发送握手协议,主要提供SDK版本、协议版本、支持的加密算法等信息,服务器根据SDK提供的信息选择合适的协议版本以及加密算法,建立安全的通信链路。

云信支持的非对称算法包括:RSA,SM2等算法,支持的对称加密算法包括:AES,SM4等(注:SM2、SM4为国密算法,即我国自主研发创新的一套数据加密处理系列算法。

云信作为业内领先的即时通讯PAAS平台,十分重视信息安全,因此也率先支持了国密算法。)。非对称加密算法对CPU资源消耗非常高,为了提高性能一般可以考虑选择合适的密钥长度,另外针对Java平台建议考虑使用JNI技术提高非对称加密计算性能。

身份认证:TFBOYS活动是在线付费直播,因此身份认证包含了账号认证和业务认证两部分,即用户必须使用正确的账号密码登录App,且必须付费购买直播门票才有权限观看直播。为优化系统性能,弹幕服务将“地址分配和鉴权”服务进行了特殊优化:

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

鉴权中心提供用户进入直播间弹幕服务的身份鉴权策略配置。在TFBOYS活动中采用了动态Token的鉴权机制,即根据用户账号、登录时间、分配的接入地址以及鉴权中心按时间区间生成的“随机数以及对应的Token算法”动态计算鉴权Token。

用户打开直播App,首先完成账号鉴权。在进入TFBOYS直播间时通过业务中心完成直播付费身份认证和弹幕服务地址分配(同步获取到弹幕服务的动态鉴权token),最后根据接入地址登录弹幕服务,弹幕服务依据鉴权中心的策略校验Token正确性。

动态Token鉴权采用进程本地计算的方式,可以在不访问用户服务的情况下完成身份鉴权,在提高登录认证的性能同时有效的降低了业务成本。

3.收发消息(弹幕、礼物)

收发消息是直播间的核心业务,直播间消息主要分为弹幕和礼物两类。礼物因涉及付费等因素一般通过客户方业务服务器发送,弹幕消息则可以通过聊天室长链接发送。在千万级直播间场景下,因消息量太高,因此需要从消息量、消息体大小、消息比例等多个方面优化,因此设计了一套基于优先级队列的弹幕服务。

首先,为了节约消息产生的带宽,在大型直播项目开始阶段,就需要对消息格式进行优化,充分精简消息体大小。例如将礼物消息展示相关的资源文件提前预加载到直播App中,礼物消息转化为业务编号,可极大的减少消息大小;

其次,针对上行消息设计流控机制。为了能全局控制上行消息体量,设计了逐级流控方案。上层级根据下层级能够支撑处理能力设计相对较粗粒度的本地流控机制;在弹幕反垃圾业务阶段,因需要全局控制消息量,因此采用分布式全局流控方案;弹幕广播阶段则根据业务广播需求再一次进行消息流控。

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

首页 12下一页

栏目热文

网易云收到抱抱怎么设置(网易云收到了抱抱怎么取消)

网易云收到抱抱怎么设置(网易云收到了抱抱怎么取消)

网易云超暖心的一个概念哟,在线可以开启抱抱的玩法,两个可爱的小人拥抱在一起,非常的暖心,很多小伙伴在咨询网易云怎么给抱抱...

2024-11-12 00:09:53查看全文 >>

网易云音乐如何收到一个抱抱(网易云播客的歌怎么一起听)

网易云音乐如何收到一个抱抱(网易云播客的歌怎么一起听)

网易云音乐抱抱怎么触发?随着网抑云这个梗火了之后,越来越多人都开始选择用它来做自己的音乐软件了,为此,软件也是开发了一个...

2024-11-12 00:26:33查看全文 >>

在电脑怎么删微信聊天(电脑微信聊天彻底删除方法)

在电脑怎么删微信聊天(电脑微信聊天彻底删除方法)

辞职了,请一定要记得要删除在电脑上的微信聊天记录!不然你的隐私等于在同事们面前暴露 裸奔[我想静静] 好尴尬,自己发现...

2024-11-12 00:06:07查看全文 >>

怎样删除微信聊天储存(微信聊天文件怎样删除)

怎样删除微信聊天储存(微信聊天文件怎样删除)

微信聊天记录怎么删除 (How to Delete WeChat Chat Records)在现代社会中,微信已成为人们...

2024-11-11 23:51:06查看全文 >>

笔记本怎么删除微信聊天(电脑微信聊天彻底删除方法)

笔记本怎么删除微信聊天(电脑微信聊天彻底删除方法)

相信有很多微信用户会发现,微信电脑版随着时间的推移它的内存空间占用就越来越大,这是因为很多聊天记录占据了电脑的内存,所以...

2024-11-11 23:50:26查看全文 >>

第三方责任险价格表(第三者责任险报价明细)

第三方责任险价格表(第三者责任险报价明细)

在购买第三责任险时,选择100万还是200万的保额,确实是一个让许多车主头疼的问题。这个问题涉及到个人经济状况、驾驶习惯...

2024-11-11 23:45:33查看全文 >>

第三方责任险买200万还是300万(第三责任险买100万还是买200万)

第三方责任险买200万还是300万(第三责任险买100万还是买200万)

第三者责任险保额之惑:200万够不够?深入研究,多方观点碰撞: 近年来,随着车辆价值的不断攀升和人身损害赔偿标准的提高,...

2024-11-11 23:49:41查看全文 >>

撞死一个人三责100万够赔吗(一次撞死一车人 三者200万怎么赔)

撞死一个人三责100万够赔吗(一次撞死一车人 三者200万怎么赔)

买车后第一件事我们就是去交管所给爱车上保险,上保险主要是有一个保障,但也不是说买了保险之后,我们就可以什么都不管了,爱车...

2024-11-11 23:47:21查看全文 >>

车上人员责任险1万会不会太少了(车险买这4种就足够)

车上人员责任险1万会不会太少了(车险买这4种就足够)

图据图虫创意日前,多位新能源车主向红星新闻记者反映,在给新能源汽车第二年或第三年续保时,价格出现了显著上涨,并且有的保险...

2024-11-12 00:28:32查看全文 >>

100万第三方责任险保费大概是多少(第三者责任险1000万保费是多少)

100万第三方责任险保费大概是多少(第三者责任险1000万保费是多少)

在购买车险时,“三者险”是一个备受关注的重要险种。而关于三者险的保额选择,一直以来都是车主们争论不休的话题。尤其是在“是...

2024-11-11 23:51:06查看全文 >>

文档排行