斗鱼高并发架构实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 高并发架构实现 斗⻥高并发架构实践 / 李奇
2.
3. 李奇 目前负责斗⻥ Go 基础建设 以及 斗⻥ Jupiter 微服务开源框架。 专注于云原生、微服务架构,在高并发和高可用方面有丰富经验和沉淀。深度参与斗 ⻥直播流、弹幕高并发架构设计。
4. 目录 CONTENTS 03 02 01 直播流介绍 架构实践 总结 & 规划
5. 直播流介绍 01 02 03 业务核心 流量突发 延迟敏感 • 故障等级 P0 • 大主播 首映 • 请求成功率 4个 • 响应异常 零容忍 • 流质量 不稳定 • 响应耗时 10m • SLA 要求 4个9 • TPS 40w+ • 首屏时间 要求高
6. 1 微服务化 2 直播流秒开 架构实践 3 多云多活
7. 微服务化 - WHY A B C 快速扩容 模块隔离 技术异构
8. 微服务化 - 架构
9. 微服务化 - 监控中心
10. 微服务化 - 配置中心
11. 微服务化 - 性能诊断
12. 微服务化 - 性能诊断
13. 微服务化 - 全链路压测 ➢ 目的 摸清服务真实水位 提前解决性能瓶颈 ➢ 手段 流量染色 数据隔离 ⻛险熔断
14. 微服务化 - 全链路压测 ➢ 优化网关缓存配置 ➢ 优化核心服务性能 ➢ 优化日志库性能
15. 微服务化 日志性能优化
16. 微服务化 -日志性能优化
17. 微服务化 -日志性能优化
18. 微服务化 - 全链路压测
19. 微服务化 -日志性能优化
20. 直播流秒开 - WHY A 首屏时间 B 卡顿率 C 失败率
21. 直播流秒开 - 架构
22. 直播流秒开 天枢系统:全链路监控,多指标多维度
23. 直播流秒开 全链路优化,从客户端到服务端 ➢ 分层次 • 客户端缓存 • 服务端缓存 ➢ 分等级 • 头部主播重点缓存、防止缓存穿透 • ⻓尾主播过期缓存(read through+single flight)
24. 直播流秒开 全链路优化,从客户端到服务端 客户端缓存 ➢ 预埋流地址 减少请求次数 提高加载速度 ➢ HttpDNS 预加载 提高流加载速度 防止 localDNS 被劫持
25. 直播流秒开 全链路优化,从客户端到服务端 服务端缓存 ➢ 动静缓存 静态数据【量级小】:配置数据、黑白名单 动态数据【量级大】:开播信息、房间信息 ➢ 数据代理 数据标签、数据版本、预编码、数据分片 减少数据库压力、提高业务复用性 ➢ 头部主播
26. 直播流秒开 精简字段:基于 fieldmask 按需索取
27. 直播流秒开 - 首帧时⻓
28. 多云多活 - WHY A B C 多云容灾 容量瓶颈 同城多活
29. 多云多活 - 架构
30. 多云多活 - 中央注册中心 • 黑实线:正常情况下的专线访问 • 黑虚线:切公网方式访问 • 红实线:etcd 集群发生主备切换后的专线访问 • 红虚线:etcd 集群发生主备切换后的公网访问
31. 多云多活 - 强弱依赖分析
32. 多云多活 - 强弱依赖分析
33. 多云多活 - 故障演练
34. 多云多活 - 故障演练
35. 总结 & 规划 评估 测量 优化
36. 总结 & 规划
37. wechat: sysulq

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-07-01 21:11
浙ICP备14020137号-1 $Map of visitor$