2022精选技术干货 | 哔哩哔哩技术最受欢迎的20篇文章
哔哩哔哩技术
时光匆匆,2022年2月21日诞生的哔哩哔哩技术团队公众号已经走过了第一个春秋。这一年我们共发布了101篇原创文章,在大家的喜爱和支持下,也有了10W+阅读量的文章,今天为各位送上2022年最受欢迎的20篇文章,请大家品读分享,也可以关注留言你未来想看到的内容。
哔哩哔哩技术精彩回顾(点击标题查看)
👇 👇 👇
2021年7月13日22:52,SRE收到大量服务和域名的接入层不可用报警,客服侧开始收到大量用户反馈B站无法使用,同时内部同学也反馈B站无法打开,甚至APP首页也无法打开。基于报警内容,SRE第一时间怀疑机房、网络、四层LB、七层SLB等基础设施出现问题,紧急发起语音会议,拉各团队相关人员开始紧急处理。
★
压测是对服务性能和容量预估最有效的手段,而全链路压测是众多压测方案中仿真度最高的一种,能够更加真实地反映线上服务的容量和性能瓶颈。然而在线上实施全链路压测面临诸多的困难和挑战,如何保证链路的完整性、如何实现流量隔离、如何提升压测流量成功率等等。我们在 Golang 生态下通过基础库适配、管控平台、代码 Lint 等多种方案来保障全链路压测的成功实施,并在多个大型活动的技术保障过程中应用。
★
B站直播8年的技术架构演进过程,带你了解我们是如何一步步从单体到微服务、从 PHP 到 Golang、系统承载能力从数十万到千万同时在线面临的难题和挑战。
★
评论是Web2.0时代互联网社区应用的基础功能之一,评论发布与排序展示是其核心要素。在微服务架构下,评论的系统设计如何实现弹性可扩展、健壮高可用、高强度迭代?本文从评论的基础功能模块开始,以问题引入,介绍了评论服务的网关接入层、管理服务层、基础服务层、异步处理层等模块的设计,包括评论发布与展示的读写热点、数据一致性等经典问题的优化方案。本文还详细介绍了B站热评在不同阶段的产品机制与工程设计,在准实时计算全量评论排序的背景下,通过召回策略的分层设计,实现了细分场景下的差异化排序。
★
日志作为线上定位问题排障的重要手段,在可观测领域有着不可替代的作用。稳定性、成本、易用性、可扩展性都是日志系统需要追求的关键点。本文从背景、问题、新架构体系、Clickhouse 功能增强与优化讲述了工作现状,并总结了下一步工作发展的方向。
★
目前最适合作为角色模型“载入即用”模型中,只有VRM是能力较全面的,MMD虽然在互联网上有大量的可用资源,但由于历史久远,也没有对面捕和动作捕捉做很好的兼容性适配,
于是日本多家企业联合推出里“VRM”格式,用于处理VR应用程序的Avatar模型数据,如今亦被广泛应用于虚拟直播。但是其在能力上还是有很多的局限性,为了增强已有格式能力,并掌握自治权,以便控制格式能力的覆盖范围和扩展性,我们认为有必要创造一种适合中国本土化的标准格式,满足繁多的业务和本土化需求,并掌握虚拟内容生态的话语权,哔哩哔哩BVA格式标准应运而生。
★
07 B站直播的自研P2P实践 | 助力S12英雄联盟总决赛
带宽成本作为直播技术成本中最大占比,是降本增效计划中的重要组成部分。通过P2P技术节省服务器带宽已经成为国内直播平台的通用做法。本文介绍了哔哩哔哩自研的直播P2P是如何应对大规模用户同时在线时、网状结构下传输任务分配算法复杂性极高的难题,并利用该算法在自我规制上行数据量的条件下得到还不错的节省率的。
★
B站网络团队按稳定和高效原则设计网络结构。底层物理网络通过物理线路、硬件设备和网络技术,形成了一张稳定且可靠的DCN网络,为上层业务提供高效和快速的转发通道。基础网络下承机房基础设施、上接业务,需要解决业务需求变化快和基础网络升级难这一对永恒的矛盾点。未来基础网络会继续紧跟技术发展潮流,根据业务需求,探索新型网络结构,为B站业务提供更稳定、更高效及高扩展的网络服务。
★
B站基础网络团队从稳定、成本、效率出发,以持续优化用户体验为目标,将用户始终放在第一位。依托运营商资源逐步优化公网服务,减少上层业务及用户对网络异常的感知。下一步我们将加快B站外网骨干网的覆盖范围,加强跨大区级的公网调度能力。同时结合业务发展需求与行业内发展趋势,优化公网部分组件及探索更前沿的技术,为B站提供更稳定、更高效、更低成本的网络服务。
★
可信赖的数据质量是大数据平台核心竞争力的体现,是大数据航母战斗群的预警机。数据质量团队的背后是大兵团级别的组织、协作和保障工作。数据质量的高可信度依赖于业务模型团队,数据质量平台,业务调度团队,计算引擎团队,和各种存储和搜索查询引擎等兄弟舰队通力合作和鼎力支持。
★
哔哩哔哩是一家以视频业务为起点的公司,其日常运作中必然会涉及到许多与视频相关的技术知识。鉴于很多人对视频相关技术抱有好奇,本文尝试为对该领域抱有好奇的读者消除一些神秘性,阐述该领域中涉及到的一些最基本概念和由来,作为进一步继续探索的第一级台阶发挥作用。
★
本文从技术角度讲述了2021年B站 Web 端首页改版的一部分历程,涵盖了从技术方案选型到最佳实践探索、性能优化调试三方面的分享;并从技术架构的角度出发,给出了中大型重展示类 Web 项目的最佳架构方案。相信在读完本文后能够带你了解如何通过技术方案设计高效的交付一个高规格项目。
★
服务器性能评测与优化是一个极具挑战的,涉及服务器硬件、操作系统以及业务应用等多个方向的系统工程。本文的内容偏向硬件基础计算性能的优化,无论是BIOS配置,还是内存和电源管理的功能,大多是服务器与CPU厂商能提供的服务选择。更多的通过选择正确的性能评估工具评估不同选项、配置的性能影响,选择合适的、有效的优化组合以准确评估服务器硬件性能。
★
Lancer是B站的实时流式传输平台,承载全站服务端、客户端的数据上报、传输、集成工作。本文介绍了Lancer架构的演进历程,主要分为大管道模型、BU粒度管道模型以及单流单作业模型三个阶段,结合每个阶段的痛点,介绍了相应优化方案。目前,Lancer已经具备了每日峰值 5000w/s rps, 3PB/天, 4K+条流的数据同步能力。
★
移动互联网时代,视频播放场景从有线网扩散到无线网络,愈加复杂的网络环境使高分辨率、低延时的用户诉求更难满足。为解决网络变化造成的卡顿问题,自动分辨率算法(ABR)从移动互联网诞生起就受到业界和学界的关注。本文介绍了B站落地ABR算法的框架和方法,并创新性地提出了新的QoE评判标准,同时论述了落地算法中需要解决的工程性难题,最终上线的效果在分辨率和流畅性两个指标上都得到了用户的认可。
★
本文我们由混部技术的CPU隔离问题引入对龙蜥社区开源内核Group Identity特性的分析,并基于该特性进行模拟混部测试,结果表明:Group Identity技术可以赋予高优先级的任务更多的调度机会来最小化其调度延迟,并把低优先级任务对其带来的影响降到最低。对我司未来的大规模混部而言,在CPU隔离层面或是一个较好的选择。另一方面我们也发现,龙蜥开源内核的GI特性考虑的场景较多,设计也就变得复杂沉重。目前B站自研内核增强了CPU调度和内存方面的可观测性,通过实际的线上数据来定位开源方案的不足,并会针对这些不足,自研实现最适合B站混部的CPU隔离能力,持续助力降本增效。
★
全链路压测在分布式系统稳定性保障上占有重要地位,越来越多的公司从0到1搭建并逐步完善全链路压测能力,在此过程中的系统底层改造往往也带来了较大的业务影响、人力成本和风险,质量方面也面临了比较大的挑战。本文介绍了基于全链路压测改造背景下的全链自动化测试方案,在保障全链路压测的各个改造节点均安全可靠的前提下,改善上层业务测试回归量巨大带来的测试效率和人力成本问题。
★
相比于传统的SQL on Hadoop技术栈,基于Iceberg的湖仓一体架构,在保证了和已有Hadoop技术栈的兼容性情况下,提供了接近分布式数仓的分析效率,兼顾了湖的灵活性和仓的高效性,从我们落地实践的经验看,对于用户基本透明,只是一种新的Hive表存储格式,没有更多使用和认知的门槛,和已有的大数据平台工具和服务也能非常小代价地集成。
★
会员购是基于二次元文化发展而来的电商平台,运营联合ACG、手办潮玩等品类特性不断进行促销玩法创新。会员购促销平台提出轻量级促销低代码化设计方案,通过DSL流程引擎和促销组件沉淀,可以灵活的适配不同类型的促销活动及流程定制,平台旨在用一套模型和服务流程设计,为运营侧提供丰富、灵活、高效的促销玩法。
★
前几年S赛技术保障现场大家手忙脚乱地处理告警(扩容、限流、降级),现场非常混乱。即便是直播结束,告警和问题反馈也一直不断。今年我们通过一系列的技术升级(内核升级、去CPUSET、合池、网关容器化迁移、同城双活、HPA)和服务治理(混沌工程、全链路压测、告警协同治理),保障了整个S12直播过程中技术系统稳定、流畅,没有出现任何需要主动限流、降级、熔断等对用户有损的技术干预手段,给用户带来了极致的观赛和互动体验,实现了技术人梦寐以求的“喝茶保障”。后续我们会对技术保障过程中的各个环节进行复盘,持续打磨技术中间件和平台、建设多活单元化、全链路压测覆盖、优化资源池调度、全面推进B站基础设施云原生落地。
以上是今天的分享内容,如果你有什么想法或疑问,欢迎大家在留言区与我们互动,如果喜欢本期内容的话,欢迎点个“在看”吧!
福利时刻
学习是自我提升的重要途经,哔哩哔哩技术为大家准备了一份小礼物,关注【哔哩哔哩技术】公众号,回复【抽奖】即有机会获得以下哔哩哔哩技术大佬推荐书籍或者哔哩哔哩周边及B站大会员~祝大家在新的一年里健康平安,再创新高!