抖音直播亿级并发下的高可用技术实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 抖音直播亿级并发下的高可用 技术实践 夏睿 字节 抖音直播服务架构负责人
2.
3. • 直播业务&架构复杂性 • 典型场景的高并发解决方案 • 核心链路的高可用保障方案 • 大型直播活动重保经验
4. 直播业务介绍
5. 业务复杂度 • 分发入口多 推荐、搜索、关注、天窗、同城、标签等300+场景 • 业务形态 秀场、游戏、连麦、PK、KTV、演唱会等 • 涉及领域多 涵盖电商、游戏、社交等领域,上百种玩法
6. 组织架构复杂度 创业 高速发展期 成熟期 多业务大规模发展 业务 组织
7. 架构复杂度 • 接入层:支持直播产品线20+ • 业务架构:2000+服务 • 存储架构:10+不同类型存储 • 物理架构:异地多机房 • 外部依赖:合作业务上下游50+
8. 业务&组织复杂性:领域驱动 • • 领域划分 服务分级 多人场景 领域1 业务 服务& 能力 领域2 服务& 能力 服务& 能力 直播业务 增值 营收 PK 连麦 KTV 服务& 能力 服务&能 力 营收 社区 数据智 能 ..... 互动 开播 打赏 服务& 能力 游戏内 容生态 分发 活动 钱包支付 支付 一级服务 元数据 ..... 清结算 二级服务 三级服务
9. 复杂系统基建-服务治理 服务定义 开发测试 发布变更 多环境治理平台 服务准入授权 运维治理 事件平台 服务管理、分级 Mock平台 服务发布 通用流量平台 API管理 流量复制 容量治理 服务容量分析 服务注册与发现 仿真测试 限流、熔断、降级 容灾演练 混沌演练
10. • 直播业务&架构复杂性 • 典型场景的高并发解决方案 • 核心链路的高可用保障方案 • 大型直播活动重保经验分享
11. 直播的高并发典型场景 用户 分发 房间 亿级日活/千万在线 千万QPS 百万在播 用户链路是直播业务中的基础 服务,包括用户信息、粉丝、 黑名单、会员等,具有海量用 户上/下线、实时互动等极高 的并发场景和海量的用户数据 直播业务中用户能否看到直播 间,主要依赖直播间的分发能 力,包括为抖火西头的客户端 用户推荐直播间;为抖火西头 的业务系统、推荐系统和直播 系统提供按场景过滤的直播 间,共涉及310+场景 房间作为整个直播业务的载 体,承载各种直播功能——开 播、看播、进房、评论、连 麦、送礼、弹幕、购物等,共 涉及200+场景 消息 亿级推送 直播业务中非常关键的环节是 直播间的实时互动,包括直播 间的评论、弹幕、榜单、打 赏、抢红包、连麦、PK、商品 上架等,直播消息系统承担了 直播间内几乎所有互动事件的 下发
12. 直播的高并发解决方案-用户 • 亿级QPS • 亿级用户 • 用户属性300+
13. 直播的高并发解决方案-用户 Set化 / Sidecar -> 亿级QPS
14. 直播的高并发解决方案-房间 • 千万级读并发 • 数据实时变更:100ms • TB级热数据 • 高热直播间
15. 直播的高并发解决方案-房间 解决方案: • 自建/多级缓存 • 异化索引结构&查询 • 整合多类异构缓存 的整体方案
16. 直播的高并发解决方案-消息 连麦、PK、K歌.... 消息控速 消息打散 送礼、红包、福袋.... 互动生产方 进房、评论、弹幕.... 消息过滤 消息回源 优先级 ...... 亿级消息毫秒级延迟推送? 短链 ...... 长链 互动接收方
17. 直播的高并发解决方案-消息 解决方案: • 自研高可靠消息内 存缓存(多活) • 消息分级/批量推 送 • 房间维度分片(高 热直播间&小直播 间针对性策略)
18. • 直播业务&架构复杂性 • 典型场景的高并发解决方案 • 核心链路的高可用保障方案 • 大型直播活动重保经验分享
19. 核心链路的高可用保障方案-架构 P2 P0 P3 Pn P1 无限集 -〉有限集 核心链路 房间 用户 分发 消息 打赏 进房 其他业务 方案:隔离&固化&兜底
20. 直播的核心链路
21. 核心链路的高可用保障方案-打赏 核心链路-打赏 • 主链路拆分-隔离 • 服务编排-流程固化
22. 核心链路的高可用保障方案-分发 • 千万QPS • 内容多时延低 • SLA要求高
23. 核心链路的高可用保障方案-分发 兜底级别 兜底策略 一级兜底 文件兜底(白名单直播间) 二级兜底 文件兜底(高热直播间) 接入层(TLB) 一级:文件兜底 API层 二级:文件兜底 房间召回 三级兜底 内存兜底(个性直播间) 四级兜底 存储异构兜底 (Redis+ABase) 三级:内存策略 房间过滤 正常流程 存储层 四级:存储异构 Redis+Abase 自动降级
24. 核心链路的高可用保障方案-sre MTTR MTBF MTBF 故障预防 故障感知 故障定位 故障止损 复盘改进 架构设计 立体监控 事件中心 容灾切换 故障复盘 舆情感知 根因分析 弹性扩容 改进验收 链路追踪 服务降级 混沌工程 核心指标 • 故障数:P2+=0 • SLA:99.99% 容量规划 • 时效:1-5-10 变更管控 风险巡检 问题避免 数据恢复 应急响应 加固提升
25. 核心链路的高可用保障方案-AIOps 感知 历史事件+实时监控 ① 召回率 ② 准确率 ③ 实效性 AIOps 决策 执行 自动执行+优化建议 ① 执行效率 ② 零副作用 关联分析+异常检测 ① 定位效率 ② 性能开销
26. 直播高可用的整体保障方案
27. • 直播业务&架构复杂性 • 典型场景的高并发解决方案 • 核心链路的高可用保障方案 • 大型直播活动重保经验分享
28. 大型活动保障方案 - 流量控制 - 扩容 容量 剧本 容量 - 数据加载 - 参数调整 - 环境检查 - 压测 - 限流配置 - 监控大盘 - 自动扩容 - 彩排验收 - 容灾预案(自愈) - 变更封禁 - 服务降级 - 安排值班 - 数据恢复 - 办公预案 稳定性 重保 预案 管控 面向失败的设计,魔鬼在细节里!
29. 大型活动保障方案-弹性资源 • 发展过程: 1天内腾挪百万核 手动扩缩容 -> 半自动扩缩容 -> 自动弹性扩缩容 • • 资源 出让/恢复 主方案:在线弹性伸缩 ① 100%云原生 ② 动态策略,弹性伸缩 辅方案:离线快速出让 自动 扩容/缩容 资源 交付/退回 自动策略 弹性调整 集群自动 负载均衡
30. 大型活动保障方案-压测 数据构造/隔离 压 测 平 台 流量回放 发压工具 压测环境 压测结果分析 压 测 场景压测 优化 全链路压测 线上真实流量调度 优化
31. 大型活动保障方案-自愈 自动 感知 高并发系统+现场直播,没有足够时间人工处理 AIOps 自动 恢复 自动 决策
32. 回顾 • 宏观:业务/组织/架构做分析 —>领域划分,服务分级,服务治理的基建 • 高并发场景 —>Set化,多级缓存,针对性优化 • 高可用场景 —>隔离固化,兜底,预防/感知/定位/止损
33.
34.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-23 13:15
浙ICP备14020137号-1 $访客地图$