B站大型活动背后的数据库保障

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. B 站大型活动背后的数据库保障 演讲人:陈阳 全球敏捷运维峰会 广州站
2. 标题 陈阳 • 哔哩哔哩数据库负责人 • 十年以上数据库领域经验 , M yS Q L 深度用户 • 在数据库自动化运维 , 分布式数据库上均有一定积 累 • 累 积 申 请 并 授 权 发 表 多 篇 数 据 库 方 向技术发明专 利 全球敏捷运维峰会 广州站
3. 目录 01 性能瓶颈 : 不 同 活 动 场 景 下 数据 库的 压力 与瓶 颈点 02 前期压测 : 数据准备与全链路压测 03 应急预案 : 活动中应急预案设 04 事后复盘 : 计 事后总结复盘是非常重要的一个环节 全球敏捷运维峰会 广州站
4. 用户眼中的 B 站 全球敏捷运维峰会 广州站
5. 业务场景 点播类业务 直播类业务 用户对可用性要求比较高 高并发场景、热点数据 业务场景 电商类业务 数据一致性、热点数据 全球敏捷运维峰会 广州站 游戏类业务 用户对性能要求比较高
6. 大型活动历史 2021 最美的夜 2019 直播人气峰值突破 2 .5 亿 建国7 0 周 年 2020 S 1 0 全球总决赛 2019 2020 2021 跨年晚会 拜年祭 S 11 全球总决 赛 与央视联合举办最美的夜 全网最大流量的直播赛事 全球敏捷运维峰会 广州站
7. 全球敏捷运维峰会 广州站
8. 大型活动直播 全球敏捷运维峰会 广州站
9. 大型活动直播 高并发写入场景选型: 分库分表 or 分布式数据库 ? • 数据量可预估性 • 业务分片键 • 分布式事务 • P 9 9 9 分位响应时间 • 弹性伸缩 全球敏捷运维峰会 广州站
10. 电商大促 全球敏捷运维峰会 广州站
11. 全球敏捷运维峰会 广州站
12. 数据准备 • 水位线评估指标: 物 理 资 源 、 Q P S 、 T P S 、 P 9 9 9 响 应 时 间 、 慢 查 询 、 b u ffe r p o o l 命 中 率 、 IO P S • 数据准备: 克 隆 集 群 or 原 集 群 压 测 • 影子库: 连 接 数 翻 倍 • 影子表: 压 测 流 量 识 别 、 S Q L 改 写 • 数据清理: 后 台 任 务 异 步 清 理 全球敏捷运维峰会 广州站
13. 全链路压测 关键词:全链路压测、全链路跟踪、混沌工程 • 一个合理的压测报告应该包含哪些内容 • 我们应该重点关注哪些核心指标 • 如何定位慢在哪一个环节 • 应急预演应该包含在压测中 • 考虑活动结束后可能带来的下游系统的压力 • 墨菲定理 全球敏捷运维峰会 广州站
14. 全球敏捷运维峰会 广州站
15. 应急预案 全球敏捷运维峰会 广州站
16. 应急预案 全球敏捷运维峰会 广州站
17. 应急预案 应急预案的设计的注意事项 • 必须要包含 : 适用场景、触发阈值、操作人员、操作影响、执行步 骤 • 场景之间的界限定义要清晰 • 启动条件必须有明确的值 • 操作的影响包括正面和负面 • 执行步骤最简化 , 封装工具、平台 • 启动前置判断机制 , 防止被误触发 • 定期 R e v i e w 全球敏捷运维峰会 广州站
18. 应急预案 数据库快速扩 容 • • MyS Q L 1. 写请求 2. 读请求 TiDB 1. T iD B 层 2. T iK V 层 全球敏捷运维峰会 广州站
19. 应急预案 异常流量拦 截 • S L B 层请求拦 截 • P ro x y 层 拦 截 • S D K 层拦截 数据库层场景 : • Bad SQ L • 接口被爬 • 上游缓存击穿后大量回源的高频请求 • 不 合 理 的 重 试 (最 大 次 数 、 多 级 链 路 、 幂 等 性 ) 全球敏捷运维峰会 广州站
20. 应急预案 降级与切流 • 刷盘策略降级 • 业务请求降级 • 实例级别切流 • A Z 、 Region 级别切流 全球敏捷运维峰会 广州站
21. 应急预案 代理层限流 常见限流算法 1 . 固定窗口 2 . 滑动窗口 3 . 漏斗算法 4 . 令牌桶算法 -> 分布 式 全球敏捷运维峰会 广州站
22. 应急预案 数据库层限流 • max_connections • m a x _ u s e r_ c o n n e c tio n s • in n o d b _ th re a d _ c o n c u rre n c y • in n o d b _ c o n c u rre n c y _ tic k e ts 全球敏捷运维峰会 广州站
23. 熔断 熔断:一般发生在某个服务下游出现故障 断路器的几种状态 1 . 关闭 2 . 打开 3 . 半打开 全球敏捷运维峰会 广州站
24. 多活设计 同城多活 • 读请求本 Z o n e 内闭环完成 • 写 请 求 (跨 机 房 )访 问 主 库 所 在 Z one • 数据库集群属于一个 G z o n e • 通 过 D B P ro x y 进 行 自 动 路 由 全球敏捷运维峰会 广州站
25. 多活设计 异地多活 • 读写请求均在本单元内闭环完成 • 需要业务进行单元化改造 • D B P ro x y • a) 多 R e g io n 自 动 路 由 b) ) 集 成 全 局 发 号 器 (防 止 主 键 冲 突 D T S 组件 a) 双向同步 b) 冲突检测及处理策略 全球敏捷运维峰会 广州站
26. 应急预案 一些典型的场景应对策略 • 连接数打满 • 主从复制延迟 • 缓存击穿 • 慢查询导致雪崩 • 意外宕机 全球敏捷运维峰会 广州站
27. 全球敏捷运维峰会 广州站
28. 保障流程 1. 保障作战室: 快 速 响 应 、 决 策 2. 整体指标大盘:核 心 指 标 响 应 时 间、 在线 人数 、系 统压 力 3. 定期同步: 当 前 指 标 是 否 健 康 、 是 否 出 现 异 常 情 况 4. 提前决策: 根 据 趋 势 提 前 判 断 下 一 步 全球敏捷运维峰会 广州站
29. 异常情况 异常情况:预案之内、预案之外 新手 老司 机 • 第一时间迅速评估影响范围 • 慌乱中不知道该怎么下手 • 一头扎入某个问题底层深究,再也出不来, 不管 外界系统死活... • 快照,选择预案止损,优先保证业务可用性 • 通过有效手段重现问题,逐步缩小问题范围,定位根因 全球敏捷运维峰会 广州站
30. 异常情况 紧急事故管理 全球敏捷运维峰会 广州站
31. 故障诊断 问题定位方法论 故障排查过程可以定义为反复采用假设- >排除的过程 • 建立自己的知识体系 , 并不断完善更新 • 不同场景下的条件反射 • 快速验证、排除当前各种可能 • 从监控数据倒推 • 从代码逻辑分析 • 初步得出结论 , 尝试变更、验证 • 复现 , 得出结论 • 分析优化、整改方案 全球敏捷运维峰会 广州站
32. 全球敏捷运维峰会 广州站
33. 复盘与优化 活动回顾 • 结果数据与过程指标数据 • 核心指标数据分析 • 问题汇总与预案执行情况 经验总结 • 亮点与不足 • 优化方案 • 思考与总结 • 监控数据长期保留 , 作为下次活动评估的参 考 全球敏捷运维峰会 广州站
34. THANK YOU! 全球敏捷运维峰会 广州站

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-17 10:06
浙ICP备14020137号-1 $Carte des visiteurs$