Jinkela(金坷垃)Pipeline 是一套用于前端 DevOps 的实验性的胶水工具,解决了许多开发流程中的细节问题,希望简化前端发布的操作难度,如今能力被集成到 Dejavu(逮虾户) 这个在线平台,承载上百个前端业务仓库的 CI/CD 能力。
2023 年H1,B 站集中出现了多个因变更导致的应急事件。从Google SRE和行业的分享经验我们知道 70%的此类事件是由变更导致的。 需要认识到,历史上任何技术债务都不会自行消失。如果我们不加以治理,这些问题将在某个不经意的时候爆发,届时我们将不得不付出数倍的代价。 H1 的几个变更风险,未能被及时扼杀在摇篮中,以至于发布到线上环境才发现问题,甚至还需要较长时间才得以恢复。我们深入分析了几个典型情况:
英雄联盟全球总决赛是英雄联盟赛事每年度最受瞩目的节点,也是B站全年赛事热度最高的时段。第13届英雄联盟全球总决赛(下文简称S13)今年继续在B站进行直播,本文主要分享S13赛事保障的实践和思考。
在云原生的架构下,微服务的数量呈现爆炸式增长,服务间的调用关系错综复杂,对系统可靠性也提出了更高的要求。在这样的背景之下,混沌工程的关注度也不断提升。 事实上,混沌工程早就不是什么新鲜的概念,早在2008年开始,混沌工程的思想就已经始萌芽,彼时,网飞公司由于数据库发生故障,导致了三天时间的停机,使得 DVD 在线租赁业务中断,造成了巨大的经济损失,正是这次线上事故推动了后续的 ChaosMonkeyV1 项目的诞生。在那之后,类似于 SimianArmy、ChaosKong、Gremlin、ChaosMonkeyV2、ChaosBlade、ChaosMesh、ChaosMeta 等混沌工程相关产品在各个大公司的实践中走入公众视野。
AV1是开放媒体联盟(AOM, Alliance for Open Media)开发的第一代开放,免版税的视频编码标准。AV1于 2018 年 3 月定稿,相同画质下,码率比 H.265/HEVC 低 20% 左右。经过 Google、Netflix、Meta、Amazon 等互联网巨头的不断推广,目前 AV1 生态逐步发展成熟:PC 侧显卡供应商 AMD、 Intel 和 Nvidia 均已经发布支持 AV1 硬解的相关产品;移动端 MediaTek、 Qualcomm 和 Apple 的旗舰手机芯片都已经支持 AV1 硬解;软件解码器 dav1d 已经具备主流平台的实时解码能力[1]。2020年底 B 站开始自研 BILIAV1 编码器,2022年初开始在 PC 侧点播业务部署 AV1 编码,目前正在积极筹备 AV1 编码在直播业务上的应用。
事件简述:2023年8月4日 21:00-21:20 云厂商 CDN 服务故障,回源流量突增导致 BFS SLB 过载,影响依赖图片、JS/CSS静态资源的服务,大量用户出现白屏和无法播放视频的问题。 事件原因:因为云厂商 CDN 故障,自动执行域名下线策略,策略如下: 解析回源:域名被下线时,域名会解析回主源站 停用域名:域名被下线时,域名会被调整为”停用“状态,停止 CDN 加速服务,并且返回403 解析回源策略,瞬间产生几百G的流量,”攻击”源站BFS服务,服务瘫痪 停用域名策略,会造成大量用户被403处理,用户表现为页面白屏或者打不开
罗马不是一天建成的。语聊房当前架构也是不断演进的结果。 在技术架构层面,语聊房作为搭建在直播体系上的业务,使用既有技术架构体系可以帮助我们快速搭建早期产品,但随着业务迭代,已有技术体系又成为新的技术架构的负债。 同样在业务架构层面,语聊房产品已经迭代一年,产品形态依然在快速变化,已有的业务架构又会成为新的业务架构的阻碍。 每一次产品需求的迭代,都会对已有技术架构和业务架构造成双重冲击。 本文将结合语聊房持续演进的过程,谈谈业务视角下的架构演进。以及如何构建能应对各种变化的系统,不断达到新的平衡。
从产品运营角度来说,功能的用户触达是实现用户价值转化的最基本前提。所以如何快速将一个新的功能触达到用户,同时减少触达过程中对运营推广、用户带来额外的成本就成了一个必须被重视的课题。对于APP而言,以一个相对固定的节奏进行版本迭代,在一个迭代周期内,新版本基本可以达到一个相对较高的覆盖率。但对SDK而言,因为其并非直接面向用户,更像是一个ToB类产品,快速的版本迭代显然不是一个有效的途径,游戏SDK也不例外。
随着人工智能技术的快速发展,B站已经有非常多的AI算法可以用来助力多媒体业务,诸如超分辨率、人脸增强、视频插帧、窄带高清等等。如今,以扩散模型(Stable Diffusion)和大语言模型(LLM)掀起的生成式AI浪潮又给多媒体业务带来了更多技术可能。相对于各类AI算法模型的研发,模型推理与视频处理框架在多媒体业务部署中的重要性更为凸显,是工程化”基座“的存在。一个优秀的多媒体AI算法工程化框架,不仅可以提供更高的运行性能、异构计算及多平台支持等功能,同时也增加代码复用率,提升开发效率,加速了业务部署上线。为此,我们研发了一套多媒体业务算法工程化SDK,Bilibili Vision Toolkit (简称BVT),为B站的各类点/直播业务提供AI算法支撑,已在线上提供了上亿量级的视频稿件处理。另外,BVT是对之前同样也是我们研发的一款视频处理引擎BANG做了重新设计和全面的改进升级,集成了更多的算法,提供更广泛的推理引擎支持,改善多平台兼容性,以及增加可自定义任务流等特性。
Kafka 是我们公司各个部门的重要数据中间件,主要用于上报、暂存和分发各种数据。我们不仅支持大数据场景,同时也保障在线场景的稳定性。 我们拥有1000+台Kafka机器,组成了20多个集群,针对不同业务场景配置了不同规格的机器,磁盘类型包括HDD,SSD和NVME。每日PB级输入,输出数十PB,肩负着公司数据传输的重任。随着集群规模的扩张,我们也遇到了越来越多的挑战。