2023 哔哩哔哩技术精选技术干货

作者:哔哩哔哩技术 https://www.bilibili.com/read/cv28997672/ 出处:bilibili

哔哩哔哩技术精彩回顾(点击标题查看)

01 节省数亿IT成本,B站FinOps实践

B站在22年初开始落地FinOps,并连续两年实现了,业务增长技术成本零增长。本文介绍了B站如何落地FinOps,推进成本洞察、技术优化和运营优化,提升资源效率的经验,最终实现了数亿IT成本的节省。

02 持续降本:B站日志平台3.0演进之路

基于ClickHouse的Billions 2.0日志方案上线后,我们又引入了基于Iceberg的湖仓一体架构,推出了Billions 3.0方案。本文介绍了Billions 3.0方案如何进一步提高资源利用率,以实现降本增效的目标,以及我们在存储和引擎层面针对日志场景所做的优化工作。

03 云厂商CDN故障后,连夜设计了云边端协同新方案

CDN、SLB和BFS网关类流量层组件,天然具备分布式容灾能力,在故障的转移、降级重试和熔断层面,做好上下游的限流统一口径、分层分组件的降级预案、以及服务SLO指标承诺,同时结合端侧开放的调度能力,可以大大提升整体链路的容灾降级能力。

04 账号多租户架构升级与落地实践

当我们有很多重复的轮子时,服务维护成本高且效率低,平台化建设就显得尤为重要。本文介绍了账号平台化建设的经验,详细分析了账号系统的架构设计逻辑,平台化下不同业务差异化逻辑的设计方案,以及系统灰度切换方案。

05 从0到1:哔哩哔哩智能客服系统的设计与实现

B站过去的客服系统是通过外部采购获得的,已经运行了几年。然而,随着公司业务的快速发展,外部采购的系统逐渐暴露出其局限性。该系统难以根据业务需求进行定制化开发,而且也无法与公司内部系统进行高效整合,进而影响了工作效率的提升。为了解决这些问题,我们决定开展新客服系统的自主研发工作。经过深入调研、访谈和体验评估,我们确定了几个关键的指标,如用户满意度、智能问答拦截率和平均处理时长。这些核心指标为新客服系统的研发提供了明确的方向。我们从0到1研发了客服系统的智能问答,坐席调度,工作台,知识库,IM聊天基础能力,客服工单,权限管理。本文将带你了解各个核心模块的主要设计思想和实现过程。

06【点个赞吧】 - B站千亿级点赞系统服务架构设计

B站最具代表的功能之一,为了经受住百万流量、千亿存储的压力,且提供超高的服务可用性与容灾能力,点赞高可用系统应运而生。同时系统不断改造升级,多级|多态存储、双机房等不断演进。

07 B站PC客户端-架构设计

相对与WEB网页,PC客户端具有跓留电脑的快捷、独立的应用窗口、特有的交互方式等优势。我站之前有一个收编于第三方的UWP客户端,不仅UI粗糙而且还有维护困难、不能跨平台等问题。在21年底,一个电脑预装的需求让我们有了开发一个全新的PC客户端的想法。在降本增效的大背景下,我们通过现有团队抽调人力的方式,采用成熟的跨平台Electron框架,爆肝3个多月完成了1.0版本的研发,实现了直播、推荐、番剧、影视、动态、空间和UGC/OGV视频播放等功能,后续迭代中还实现了消息、离线缓存、增量更新、播放本地视频、精选模式、视频投稿等新功能。新版本哔哩哔哩PC客户端于22年5月10在官网正式上线,包含MacOS和Windows两个版本,适配Arm和X86系统架构。我们与联想、惠普达成了预装合作,在微软商店、腾讯管家、华为应用市场、360软件管家等多个PC软件渠道完成了上线,还入选了23年微软商店『精选娱乐应用』和华为市场的『闲暇时光首选』。

08 告警平台:给告警一个胶带

因为需要质量所以需要告警。从告警覆盖到告警处理、跟进与治理的闭环有助于持续改善告警。告警系统好比一个强力宽胶带把业务研发、组件研发、SRE粘合在一起,快速感知故障,提前发现隐患,让B站行稳致远。本文介绍了B站告警平台一年来的具体演进,包括但不限于构建告警合作模式、丰富告警处理手段、告警治理提升超10倍信噪比实践等,希望能给到大家帮助。

09 热点检测治理

热门活动和突发热点话题往往会带来瞬间的极端流量,同时这种流量存在极大的负载倾斜。为了快速识别突发热点以及解决热点带来的负载倾斜问题, 我们开发了自动热点识别与治理框架。该框架基于HeavyKeeper算法实现,同时通过衰减优化极大提高了热点检测的灵敏度,达到了热点流量的秒级识别。此外对于识别到的热点,框架自动集成了local cache,通过local cache可以大幅降低后端服务的负载,local cache还支持运营侧白名单配置,支持热门活动的快速预热。灵敏的热点识别度以及高命中率的local cache大幅提升了业务应对突发热点冲击的可用性。

10 爬虫与反爬-接口安全的风控介绍

互联网平台开放的接口众多,其中不少包含了平台重要的数据信息,网络上各式各样的爬虫经常会针对这些接口进行攻击,对于接口的保护和对爬虫流量的清理,对于平台的稳定和数据安全有着至关重要的作用。本文从哔哩哔哩上存在的爬虫形式入手,介绍了当前针对爬虫的攻击,在数据链路、可信校验、风险识别策略、异常感知、风险处置等方面做的防控工作。

11 B站KAFKA探索与实践

开源kafka作为消息组件的主要选择,在大数据领域也有重要的作用。尽管kafka已是成熟的组件,然而在大规模高流量场景下,kafka的维护工作依然是很痛的。本文介绍了我们在kafka的稳定性层面的思考,以及对应的优化思路,一步步将kafka打造成多租户隔离高吞吐低成本的自维护系统。

12 竟然是”你”偷走了那0.001的服务可用性

在业务开发过程中,或多或少会遇到一些性能问题,不少还是疑难杂症,难以下手。我们也知道go有强大的pprof性能分析工具,但是实战时经常一头雾水。本文以一次服务抖动性能问题解决过程为例,讲述go性能问题排查思路以及常用手段,没有难懂的理论知识,简单直白。

13 B站大型开播平台重构

B站开播平台作为直播内容的产出入口,伴随着B站直播的成长贯穿始终。然而业务飞速成长的同时也必然伴随着技术债务的积累,加之业务知识的遗忘、技术栈的不统一等问题,开播平台几乎已经变成了一个遗留系统,无法满足业务快速迭代的需求,因此从PHP到Go的重构势在必行。本文讲述的重构采用了领域驱动设计作为架构理念,并使用六边形架构作为架构风格。同时,采用了测试驱动开发等方法论来推动项目的实施,并借助事件溯源、流量复制、链路观测等工程设计和运维方法,以确保新系统的顺利上线。在本文中,你还可以了解到开播平台重构全过程的问题分析、设计思路和实际示例,以及安全的新旧服务切换操作和项目顺利上线后的提升效果展示。让我们一起深入探索B站开播平台重构的历程吧,相信在读完本文能让你对大型重构项目有所思考~

14 高达平台 - 全链路低代码解决方案

低代码开发平台已成为现代软件开发的革命性工具,它们极大地简化了应用程序的开发过程,使得无需深入编程经验的开发者也能快速构建和部署应用。通过图形化界面和预置组件,低代码平台使企业能够迅速响应业务需求、加速数字转型并优化客户体验。这种方法不仅提高了开发效率和生产力,还降低了开发成本和复杂性,使更多的组织能够在竞争激烈的市场中保持敏捷和创新。它将继续推动着业务和IT部门之间的协同工作,为未来的数字化时代创造更多的可能性。

15 B站故障演练平台实践

B 站故障演练平台,深度结合公司业务特点,在微服务框架中嵌入故障演练中间件,提供依赖自动收集、基础组件故障注入、灵活的爆炸半径控制、丰富的演练场景策略等多种能力,助力业务实现强弱依赖治理,提升系统稳定性。此外,通过丰富的开放接口,平台可实现与各类自动化流程打通,实现演练的自动化、常态化,有效提升演练的效率。

16 B站微服务API管理

API管理在应用开发的过程中至关重要,B站采用自动生成的方式,通过标准化接口定义,自动采集和生成API文档,从而提高开发效率并减少管理工作。文章总结了B站在API管理方面的经验,阐述API管理对于降低成本和提高效率的关键作用。随着公司规模扩大和接口数量增加,统一的API管理平台能够减少跨部门沟通成本。

17 资源隔离技术之内存隔离

本文由混部技术的内存隔离问题引入对龙蜥社区开源内核memcg OOM 优先级和memcg后台异步回收特性的分析,并基于相关特性进行了简单的模拟混部测试,结果表明:memcg OOM优先级可以降低在线任务被杀死的概率,优先杀死离线任务,但先祖memcg发生OOM时,对在线任务造成的性能影响仍然无法消除;memcg后台异步回收可以降低在线任务触发直接内存回收的概率,但在线任务Page Cache也被回收,可能对其性能造成一定影响;未来我们将通过不断地实践内存隔离能力在混部场景中的应用,持续发现和解决其中存在的问题,打磨出最适合B站业务混部的内存隔离方案,助力降本增效。

18 实现亿级费用减省,B站大数据治理之路

如今各行各业都开始认同 数据治理 是发挥数据资产价值的必要手段,2020年开始 B站大数据团队 开始实践数据治理,2022年 公司成立了数据委员会 继续发力支持数据治理工作。 本文详细拆解了 团队在2个治理阶段中的 核心问题 与 解题思路,主要包括对如下问题的深度探讨:如何启动数据治理?如何让用户参与配合?如何化被动为主动?

19 bilibili-AVIF图片格式落地

文章介绍了B站在AVIF图片格式落地方面的实践和经验。AVIF是一种开源的图片格式,具有更高的压缩率和更小的文件体积,对于提升网页性能和用户体验具有重要意义。文章详细介绍了B站在AVIF格式落地过程中的技术选型、方案设计、性能测试等方面的考虑,以及在实际应用中遇到的问题和解决方案。通过采用AVIF格式,B站成功地提升了网页加载速度和用户体验,同时也为其他网站提供了有益的参考和借鉴。

20 B站流程引擎设计与实践

在企业快速发展的档口,如何搭建一套兼容当前IT架构且能适应未来变化的通用业务流程引擎是提升企业运营效率的关键。Comet流程引擎自 2019 年启动研发并发布第一个版本,至今已陆续发布多个正式版本。该系统以其足够的灵活性、通用性和易用性,支撑了B站业务中大量需要借助流程引擎来实现逻辑流转和自动化的场景,跨度从底层基础设施、基础架构到上层各类业务,如各类资源申请、应用发布、推送审核、电子签约、版权评级等等。