腾讯游戏混沌工程实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 腾讯游戏混沌工程实践 吴召军 全球敏捷运维峰会 广州站
2. 目录 什么是混沌工程 混沌工程平台建设 混沌工程实践案例 全球敏捷运维峰会 广州站
3. 什么是混沌工程 主动在分布式系统上进行异常实验,观察系统行为,发现系统弱点与新知识, 并持续优化和实验,不断提高系统容错能力,让人们建立复杂分布式系统能够 抵御突发事件的信心。 ——混沌工程的定义 全球敏捷运维峰会 广州站
4. 什么是混沌工程 故障发现 故障预防 • • • • • • • • • • 架构评估优化 容量评估优化 全链路压测 监控覆优化 应急预案优化 日志工具就绪 观测工具就绪 应急演练到位 专家风险把控 故障容灾演练 • • • • • • • • • 监控告警 主动拨测 用户反馈 舆情监控 定期巡检 客服反馈 测试发现 运行预测 AIOPS 故障响应 • • • • • • • 告警触达 应急协同 故障影响评估 预案启动 客服周知 故障公告 故障同步 • • • • • • • • • • 告警分析 日志分析 链路分析 监控分析 运营数据分析 变更分析 诊断工具定位 专家决策 AIOPS 进展同步 复盘改进 故障恢复 故障定位 • • • • • • • • • • 容灾切换 扩容升配 服务重启 版本发布 配置变更 限流、熔断 降级 应急预案 隔离 进展同步 • • • • • • • • • 沙盘演练 过程推理 根因分析 故障复现 故障影响统计 改进措施 同类排查 问题跟进 故障总结同步 混沌工程 防患未然 检测快 (MTTD) 响应快 定位快 全球敏捷运维峰会 广州站 恢复快 (MTTR) 复盘演练
5. 混沌工程平台建设 1)混沌体系能 1)混沌体系能力提升 力提升 根据业务场景给混沌能力的反馈与要求,不断迭代建设Chaos体系。 5)优化反馈 2)定制计划 提交验证 评估风险 混沌工程 实践 2)定制计划评估风险 从业务实际场景出发,设计具体实验计划,包括实验目标、范围、故障,选取稳态 观察指标,限定爆炸半径,控制风险。 3)实验执行并反馈结果 执行前检查事件编排,查看当前观测指标状态,确认无误后下发实验,实验过程中 观测稳态指标表现,据此判断实验是否符合预期,实验结束后恢复环境,同时输出 实验报告。 4)架构优化 3)实验执行结 能力提升 果反馈 4)架构优化与能力提升 业务相关干系人(运维、开发、测试等人员)收到结果反馈后需对已存问题进行 review、评估整改方案、修复计划并检查同类问题,最后进行系统升级。 架构优化 事件编排 版本迭代 指标观测 5)优化反馈并提交验证 开发能力 环境恢复 运维能力 实验报告 根据业务的优化反馈,再次提交实验请求,验证改进是否生效,进入下一轮混沌 实验环节。 全球敏捷运维峰会 广州站
6. 混沌工程平台建设:流程设计 实验前 实验中 实验后 故障场景 故障注入 实验报告 稳态指标 故障观测 汇总分析 靶点管理 实验防护 问题跟进 实验编排 故障恢复 统计度量 全球敏捷运维峰会 广州站
7. 混沌工程平台建设:故障原子 存储 计算资源 网络 节点/容器 应用 自定义 • 磁盘空间满 • CPU负载高 • 丢包、延迟 • 关机X秒 • 杀进程 • shell脚本 • IO高负载 • 单核CPU负载高 • 乱序、重复 • 开机 • 进程僵死 • Python脚本 • IO延迟 • 内存满 • 带宽满 • 重启/销毁重建 • 状态码错误 • 二进制包 • IO错误 • 应用内存满 • 限速 • 删pod • Body篡改 • API插件 • 文件句柄耗尽 • 虚拟内存满 • 端口耗尽 • 杀容器 • 请求延迟 • 开源工具接入 • 文件删除 • GPU负载高 • DNS篡改 • 杀pod • 访问量激增 自研CHAOS TOOL 开源CHAOS TOOL 全球敏捷运维峰会 广州站 网关MESH
8. 混沌工程平台建设:容器故障注入 https://chaos-mesh.org/ 全球敏捷运维峰会 广州站
9. 混沌工程平台建设:应用故障注入 Control Plane GW Service-1 GW Service-A GW Service-X GW Service-2 GW Service-B GW Service-Y GW Service-3 GW Service-C GW Service-Z 网关MESH:服务治理,链路跟踪。 全球敏捷运维峰会 广州站
10. 混沌工程平台建设:应用故障注入 请求 混沌工程 状态码注入 延迟注入 Header 注入 Body注入 带宽限制 用户过滤 应用治理 网关 登陆校验 访问控制 服务加密 参数校验 调用跟踪 流量复制 通用治理 响应 负载均衡 服务发现 健康检查 熔断限流 监控度量 访问日志 全球敏捷运维峰会 广州站
11. 混沌工程平台建设:应用故障注入 应用层故障注入 全球敏捷运维峰会 广州站
12. 混沌工程平台建设:实验编排 全球敏捷运维峰会 广州站
13. 混沌工程平台建设:实验观测 • 基础监控系统 • 业务监控系统 • Prometheus 全球敏捷运维峰会 广州站
14. 混沌工程平台建设:实验报告 数据记录 问题分析 改进方案 跟进解决 全球敏捷运维峰会 广州站
15. 混沌工程平台建设:收益 传统故障演练: 小时级 30分钟 10分钟 10分钟 1分钟 5分钟 5分钟 1分钟 混沌平台演练: 编排实验 执行实验 观察实验 2分钟 1分钟 1分钟 功能齐全的自助化和自动化工具 全球敏捷运维峰会 广州站 分钟级
16. 混沌工程实践 组织/流程 红蓝对抗 业务/应用 自动化实验 基础设施/平台 控制风险 实践目标 实践要点 全球敏捷运维峰会 广州站
17. 混沌工程实践:风险控制 环境递进 演习环境,预生产环境,生产环境 范围递进 指定用户,指定微服务,指定大区 实验防护 一键终止,触发阈值自动终止 时机选择 避免流量高峰期,人齐且通知到位 全球敏捷运维峰会 广州站 切尔诺贝利核反应堆废墟
18. 混沌工程实践:风险控制 演习环境 预发布环境 生产环境 可控性:高 可控性:较高 可控性:低 对线上业务基本上不会有影响 不会影响线上业务 演习有效性:较高 演习有效性:中 与线上完全隔离,有效性一般 接近线上的环境,效果较为有效 人力成本:低 人力成本:低 可自动化,无需人力参与 可自动化,无需人力参与 风险系数高,可能造成业务损失 演习有效性:高 演习效果真实有效 人力成本:高 演习需要多方人力参与 结论:演习环境自测 + 预发布环境(每日自动化实验)+ 生产环境(半年一次)相结合 全球敏捷运维峰会 广州站
19. 混沌工程实践:实验防护 登记exporter,上报稳 态指标到混沌实验平台 配置熔断规则(阈值、 自定义PROMSQL) 超过阈值,触发熔断, 立即终止实验 图片来自网络 全球敏捷运维峰会 广州站
20. 混沌工程实践:自动化混沌实验 发布流水线集成混沌实验套餐,自动引用、执行。 全球敏捷运维峰会 广州站
21. 混沌工程实践:红蓝对抗 制定攻防制度 ⚫日常红黑榜,每周推送 ⚫设定故障分,常态化演练 ⚫设定演练分,突袭演练 ⚫常态攻防,培养风险氛围 ⚫大型攻防,固定攻防日 全球敏捷运维峰会 广州站
22. 混沌工程实践:实验内容 实验分类 实验目标 单点故障 检测故障隔离、主备切换、健康探针有效性 告警验证 检测告警系统的有效性,检验组织协作响应机制 强弱依赖 检测不合理的依赖关系,验证高内聚低耦合架构 网络抖动 检测快速失败、失败重试策略 机房故障 检测异地容灾、故障隔离策略的有效性 第三方故障 检测降级、熔断策略以及本地缓存的有效性 过载保护 检测防刷、拒绝服务攻击、流控规则的有效性 全球敏捷运维峰会 广州站
23. THANK YOU! 全球敏捷运维峰会 广州站

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.125.2. UTC+08:00, 2024-05-19 04:53
浙ICP备14020137号-1 $访客地图$