(转)阿里直播平台面临的技术挑战夏天/isummer

Sunofmylife!Talkischeap,Showmethecode!追风赶月莫停留,平芜尽处是春山~

大流量、高并发场景下,大型直播的技术挑战一般体现在如下几个方面:

本文将针对其中的一些技术细节,抽丝剥茧,希望通过些许文字的分析和介绍,能让大家有所启发。

视频直播

直播整个链路是比较长的,包含有接流、转码、切片、分发、客户端下载、播放等众多环节,链路上任何一个节点有问题,都可能导致视频不能播放。因此,关键节点的监控就十分重要,除此之外,还需要对整个链路的可用性进行监控,比如,针对HLS协议来说,可通过监控相应的m3u8索引列表有没有更新,来判断视频直播流是否中断。

当然,如需判断视频流中的帧有没有花屏、有没有黑屏,就更复杂了,况且,监控节点所访问的CDN节点与用户所访问的CDN节点可能并不在同一地域。当前中国的网络环境,特别是跨网段的网络访问,对于流媒体应用来说,存在较大的不可控因素,客户端网络接入环境对视频的播放有决定性影响。

消息/弹幕

图2:消息的投递与消费

用户将信息投递到消息系统之后,系统首先对消息进行一系列的过滤,包括反垃圾、敏感关键词、黑名单等等,对于信息的过滤后面会详细介绍,此处暂且不表。为了避免系统被瞬间出现的峰值压垮,可先将消息投递到消息队列,削峰填谷,在流量的高峰期积压消息,给系统留一定裕度,降低因限流丢消息对业务产生的影响。而后端始终以固定的频率处理消息,通过异步机制保障峰值时刻系统的稳定,这是一个典型的生产者—消费者模型。对于消息的消费端,则可采用多线程模型以固定的频率从消息队列中消费消息,遍历对应房间所对应的在线人员列表,将消息通过不同的消息通道投递出去。多线程增加了系统的吞吐能力,特别是对需要将消息一次性投递给几万上十万用户这样的场景,可以异步使用大集群并行处理,提高系统的吞吐能力。异步使后端的消息投递可不受前端消息上行峰值流量的干扰,提高系统稳定性。

除了采用消息队列异步处理之外,当房间人数太多,或者消息下行压力太大的情况下,还需要进一步降低消息下行通道的压力,这就需要采用分桶策略。所谓的分桶策略,实际上就是限制消息的传播范围,假设10w人在同一个房间聊天,每人说一句可能瞬间就会排满整个屏幕,消息在这种情况下基本没有可读性。

分桶的策略有很多,最简单粗暴的方式就是根据用户随机。首先根据房间的活跃程度,预估房间该分多少个桶,然后将用户通过hash函数映射到各个桶,随机策略的好处是实现非常简单,可以将用户较为均衡的分配到每个桶,但是会有很多弊端。首先,准确的预估房间的活跃用户数本身就比较困难,基本靠蒙,这将导致单个桶的用户数量过大或者偏小,太大就会增加消息链路的压力,而偏小则降低用户积极性,后期调整分桶数也会很麻烦,需要将全部用户进行重hash。另外从用户体验的角度来考虑,在直播过程中,在线用户数正常情况下会经历一个逐渐上升达到峰值然后逐渐下降的过程,由于分桶的缘故,在上升的过程中,每个桶的人是比较少的,这必然会影响到弹幕的活跃度,也可能因此导致用户流失,而在下降的过程中,逐渐会有用户退出直播,又会导致各个桶不均匀的情况出现:

图三:“分桶策略”之“随机Hash分桶”

图4:分桶策略之“按需分桶策略”

当然,对于部分特殊的消息,如系统公告内容,或者是部分特殊角色(房间管理员、贵宾、授课的老师等等)所发送的消息,这一类消息需要广播给所有用户,这种情况下就需要系统对消息类型做区分,特殊的消息类型另作处理。

对于消息投递任务来说,需要知道消息将以什么方式被投递给谁,这样就需要动态地维护一个房间的人员列表,用户上线/下线及时通知系统,以便将用户添加到房间人员列表或者从房间人员列表中移除。用户上线十分简单,只需要在进入房间的时候通知系统即可,但对于下线用户的处理则有点折腾,为什么这么说呢?用户退出直播间的方式可能有多种,关闭浏览器tab、关闭窗口、关闭电源、按下home键将进程切换到后台等等,有的操作可能可以获取到事件回调,但也有很多种情况是无法获取事件通知的,这样就会导致人员列表只增不减,房间的人越来越多,消息投递量也随之增加,白白的浪费了资源。为解决这一问题,就需采用心跳。

HTTP协议的好处在于兼容性及跨终端,所有浏览器、Andriod、IOS的WebView,都能很好支持和兼容,在目前移动重于PC的大环境下,显得尤为重要,但是HTTP协议劣势也是显而易见的,作为应用层协议,单次通信所要携带的附加信息太多,效率低。

WebSocket在移动端的场景下比较合适,但是运用在PC端,需解决众多老版本浏览器的兼容性问题,socket.io的出现则大大简化了这一原本非常复杂的问题。

TCP协议在传统的客户端应用上使用较多,但是对于WEB应用来说,存在天然障碍。

使用WebSocket和TCP协议的好处显而易见的,通信效率会比HTTP协议高很多,并且这两种协议支持双工通信。

消息通道

comet又被称作为反向ajax(ReverseAJAX),分为两种实现方式,一种是长轮询(long-polling)方式,一种是流(streaming)的形式。

为何说comet的通信效率会低于WebSocket呢,因为不管是comet的长轮询机制还是流机制,都需要在请求超时后发送请求到服务端,并且,长轮询在服务端响应消息之后,需要重新建立连接,这样又带来了额外的开销。

通过wireshark抓包可以做一个简单的测试对比,假设服务端每秒推送50条消息给用户,每条消息的长度为10byte,对应不同的用户规模,采用websocket和comet两种不同的通信机制,所需要传递的字节数如图所示。

可见,随着用户规模及消息量的提升,采用websocket协议进行通信,将对通信效率带来数量级的提升,详细的测试过程可参见笔者博客。

引入WebSocket协议,虽然原则上解决了浏览器与服务端实时通信的效率问题,相较comet这种基于HTTP协议的实现方式,能获得更好的性能,但同时也引入了一些新的问题。摆在首位的便是浏览器的兼容性问题,开发WEB应用程序的一个最头痛的问题就是多版本浏览器的兼容,不同浏览器产商对于协议的实现有各自的理解,并且,市面上还充斥着大量低版本不支持HTML5协议的浏览器,且这部分用户在中国还占有较大基数,因此在产品研发的过程中不得不予以考虑。得益于socket.io的开源,通过websocket、AdobeFlashSocket、long-polling、streaming、轮询等多种机制的自适应切换,帮我们解决了绝大部分浏览器(包括各种内核的webview)的兼容性问题,统一了客户端以及服务端的编程方式。

对于不同平台的消息推送,我们内部也衍生了一些成熟的技术平台,封装了包括消息推送,消息订阅,序列化与反序列化,连接管理,集群扩展等工作,限于篇幅,这里就不多说了。

THE END
1.接单平台app排行榜前十名偏玩手游盒子分享十大接单平台app排行榜前十名手机应用,编辑为您推荐手机接单平台app排行榜第一名到前5名到前十名的应用。找接单平台app有哪些、接单平台app哪个好用,上偏玩手游盒子https://m.pianwan.com/s/zj-459506
2.热血重燃!助力接单平台推荐:提升接单率的必备利器:推荐5款高效...随着互联网的发展,越来越多的人选择通过互联网平台接单来赚取额外收入。然而,竞争激烈的市场使得接单变得困难,因此寻找一款高效的助力接单平台成为了每个接单者的必备之选。在本文中,我们将推荐5款高效的助力接单平台,让您轻松获得更多订单! 1. XXX平台 ...http://amgj2t.juxiangkj.com/post/28257.html
3.自有机房接抖音直播间充场挂铁1,自有机房,有上千台手机,并配有手机卡。2,主接抖音直播间充场,能互动,评论,刷礼物等。3,可以按时间https://www.1jiedan.com/c/26914.html
4.我提供粉丝点赞评论直播间互动人气,抖音全业务可做风险提醒:用户的身份及其所发布的信息仅供参考,本平台不做保障。请注意防范风险,规范合作流程,参考 《防骗指南》 谨防骗子! 源头供应商,全网最低价联系方式 登录即可免费对接该渠道服务商 立即登录 对 接后 可见 对接后可见 注:合作前请认真核实对方身份,以免造成不必要的损失!推荐你来捡漏 我提供磷虾油三七莓...https://www.uqudao.com/detail/176949
5.虎课网实时互动教育直播平台直播 如何让你的设计更有效的获得甲方认可? 免费 7,208 开课时间 07/18 周四 录播 平面设计师必修课:三大构成 ¥169 2,527 开课时间 05/22 周三 录播 潮流视觉效果设计特训班 ¥499秒杀 44,442 开课时间 05/14 周日 录播 PS设计兼职接单必修课 ...https://huke88.com/online-school/index
1.股市成品直播app排行榜前十名:一次性了解各大热门直播应用男女之间的微妙互动:唏唏哩哩背后,宝贝就想欺负你全文免费阅读_元媛_洛克小说网,《蘑菇影视剧妈妈的职业》-2019国语在线观看 - 星辰电影网,《小奶瓶(产奶)沈姜晨晨爱吃萝卜》 / 小奶瓶(产奶)沈姜晨,《大秦帝国第二部高清》高清免费在线观看-喜剧- 阳光电影网,xfb88.xyf幸福宝解锁版:最热门的多风格姐妹直播,...http://m.benmeizs.com/?oppo/huwei/20241112/6955280522.shtml
2.靠前热门直播APP排名最火的直播软件排行榜前十名前身为YY直播,国内大型游戏直播互动平台,提供高清、流畅的游戏直播、美食直播、娱乐直播、美女直播等多种直播内容。2014年11月24日,YY直播正式更名虎牙直播。 更名后虎牙直播全面转向web端的发展——除了游戏直播,虎牙直播还将引入美食直播、秀场直播、电视直播、演唱会直播、发布会直播、体育直播等内容。 https://www.shangwuda.com/wenda/219158.html
3.十大直播带货平台排行榜直播电商平台有哪些十大品牌网CNPP重磅推出2024十大直播带货平台排行榜,直播带货平台排行榜前十名有抖音电商、快手电商、淘宝直播、京东直播、小红书、视频号、拼多多、哔哩哔哩、唯品会、东方甄选。十大直播带货平台由品牌数据部门通过收集整理大数据分析研究得出,旨在告诉消费者直播带货平https://www.cnpp.cn/china/list_7231.html
4.自己接单的平台下载10个线上副业任务接单平台作为国内知名的综合性分类信息网站,58同城不仅提供生活服务信息,还为众多手艺人和服务提供商提供了接单平台。无论是家政服务、装修施工还是技能培训,都能在58同城上找到合适的工作机会。其广泛的用户群体和丰富的服务种类,使得58同城成为兼职接单的重要平台。 https://uuwangluo.cn/137779.html
5.紫熊云控紫熊云控是一款专为TikTok直播室开发的智能互动软件,特别适用于tiktok跨境电商直播带货。通过云端服务器控制多个员工账号,实现对TikTok直播内容的智能互动和自动评论。https://www.ziyunkong.com/
6.龙哥风向标2023070420230711GPT拆解在小红书、公众号、即刻等平台发布图文案例,赠送服务/资料进行引流变现。 在抖音、小红书、视频号等平台直播老照片修复演示,吸引用户询单,赠送资料/免费帮生成一次,引流私域成交。 接单修复老照片,收取一定费用。 所需软件: AI老照片修复工具:可能需要开发或者使用现有的AI图像处理软件,如Adobe Photoshop等。 https://blog.csdn.net/wizardforcel/article/details/135918727
7.京东开通百亿补贴直播间,淘宝今晚卖卫星闪送员APP新增“平台分配”和“自选偏好”接单模式 3月31日消息,即日起,全国各城将会陆续上线新功能,即闪送员APP里的“调度中心”-“接单设置”中将会新增“平台分配”和“自选偏好”两种接单模式。闪送员可以对取送件距离、物品偏好、回家单等维度,自行进行设置,从而选择更适合自己的订单。具体来看,闪送员进入“闪送...https://www.yilantop.com/article/20081
8.艾科斯抖音直播间真人挂榜互动,一首机房,专业团队,稳定输出...直播间业务种类:长期真人活跃粉丝群(互动、粉丝灯牌、小黑粉、小黄车、挂榜等) 1、只挂榜: 真人带等级号+带头像+挂在直播间; 2、挂榜+送灯牌:真人带等级号+入团送灯牌 3、挂榜+互动: 真人带等级号挂在直播间,我们收取一定比例在直播间跟随主播互动; 4、挂榜+小黄车:真人带等级号挂在直播间+直播间一只显示...https://www.bdwork.com/thread-793569-1-1.html
9.抖音运营56个专业术语抖音的营销推广任务接单平台,类似于微博和淘宝的微任务、快手的快接单功能,广告主如果要通过达人投放广告,必须在星图上接单、交易,星图相应从中抽成。 19.流量入口 即在抖音发布的视频被播放曝光的六大流量入口。 20.带货实时热播榜 及时观看带货现场,参考正在起量的直播间中主播的销售技巧。 https://www.cifnews.com/article/139401
10.做抖音,必须知道的65个专业术语!TaoKeShow抖音商家和达人营销推广任务接单平台,商家想要找达人投放视频广告、就要去星图上找达人、下单、交易,这种渠道比较安全。 29、点赞 抖音直播间和主播互动的一种形式,用户直接点击右下角的小爱心即可,点赞互动越多,主播就会有机会获取官方的免费流量推荐。 https://www.taokeshow.com/24086.html
11.YYYY致力于打造全民娱乐的互动直播平台,以多样的美女互动、优质的直播内容、极致的互动体验,满足用户音乐、舞蹈、户外等直播及绝地求生、王者荣耀等热门游戏直播的观看需求。https://wap.yy.com/
12.直播间挂人气自助下单,快手直播挂假60个假人,快手挂假人软件快手点赞免费网站,ks点赞自助平台便宜,快手点赞软件免费, 快手100个赞0.2元,网站快手0.01元100个双击,快手卖赞的网站app 一元100个点赞,快手一元1000个赞,0.1元10000个赞网站入口, ks双击免费刷网站,0.1元100个赞,快手作品点赞网站平台, 永久免费秒赞软件,快手点赞接单平台,ks赞在线自助下单 ...https://www.kaopuj.com/9224.html
13.配音兼职接单平台有哪些靠谱的配音接单平台呢?在今天这个信息发达的时代,越来越多的人选择通过兼职来增加收入或提升自己的技能。平面设计是一项非常热门的兼职选择,而找到一个可靠的平台来接单则非常重要。本文将着重探讨平面设计兼职接单平台的重要性,以及如何选择适合自己的平台。 平面设计兼职带来的机会与挑战 ...https://tool.a5.cn/article/show/76381.html
14.咖脉互联精品互联网创业项目及自媒体课程聚合平台最新发布聚合全网最新的创业项目,副业赚钱,助力网络赚钱创业咖脉互联-互联网创业、自媒体、兼职副业、电商创业项目及教程的聚合平台》》》AI,抖音,引流,小红书,快手,tiktok,电商,自媒体,淘宝,闲鱼,抖店,直播,知乎,带货,剪辑https://vip.pin-mai.com/page/74?orderby=like
15.虎牙主播直播开玛莎拉蒂送外卖骚扰女客户,弹幕都是污言秽语...摘要:虎牙平台主播“DKE-云升”以为女性顾客代购跑腿作噱头,进行直播。整个直播过程中,女顾客并不知道自己正在被看客“围观”,也不知道直播间满屏都是污秽不堪的留言。 一名虎牙主播“兼职”外卖代购跑腿骑手,开玛莎拉蒂边接单边在虎牙平台上直播,专挑女性顾客,直播电话交谈过程,言语极尽挑逗和骚扰。代购时还“附赠”...https://web.shobserver.com/news/detail?id=222197