美团数据库攻防演练建设实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 美团数据库攻防演练建设实践 王占全
2. 个人简介 • 曾就职于爱可生、360 • 2021年加入美团,负责金融业务RDS运维, 数据库故障演练平台开发和运营推广 2
3. 大纲 • 01 背景 • 02 建设实践 • 03 落地情况 • 04 未来展望 3
4. 01 背景 4
5. 背景-初识混沌工程 • 混沌工程是在系统上进行实验的学科,目 的是建立对系统抵御生产环境中失控条件 的能力以及信心 • 发展历程:国外先行,国内繁荣 2010 Netflix内部开发 了首个混沌实验 工具Chaos Monkey Simian Army成 为首个开源的混 沌工程工具集 2012 2014 混沌工程和故障 注入概念被正式 提出 为复杂系统保驾护航 系统角度 人员角度 提升架构的容错能力与韧性 加深架构理解验证容错能力 降低故障发生率与复发率 提升故障应急效率 提升用户使用体验 主动探究系统潜在问题 Netflix正式提出 “混沌工程理念” 2015 2016 首个混沌工程商 业公司Gremlin成 立 阿里云推出开源工 具Chaos Blade 2019 2020 PingCAP正式开源 Chaos Mesh 5
6. 背景-现状 集群规模线性增长 故障复盘 故障预防 集群访问量增加 稳定性建设 故障种类繁多 单位时间故障影响越来越大 故障恢复 故障发现 故障分析 小概率事件成为可能 6
7. 背景-痛点&作用 主要作用 人工演练痛点 • 爆炸半径控制 复杂 • 遇到问题不能 快速止损 • 无法进行大规 模演练 • 切换能力无法 有效验证 影响范 演练场 围 景 演练规 演练覆 模 盖率 • 演练场景少 • 复杂度高 预知故障对 验证组件防 业务的影响 守能力 验证故障预 • 无法覆盖大 多数集群 • 无法保证常 态化演练 案有效性 验证容灾能 (业务、 力 DBA) 7
8. 02 建设实践 8
9. 建设实践-体系架构 数据库故障演练平台 权限管理 演练评估 故障注入 指标观测 终止注入 智能分析 运营管理 通用故障注入平台 Agent Agent Agent MySQL MySQL MySQL 9
10. 建设实践-能力全景 图例 成熟 待规划 第三方 进攻方式 场景管理 专项演练 发展 Set化演练 DBA触发 机房演练 RD自助触发 随机演练 周期性演练 故障注入类型/演练经验库 主机故障 链路故障 配置下发失败 CMDB连接异常 网络故障 实例故障 配置下发延迟 服务器宕机 内存故障 主/从宕机 主从延迟 DNS修改超时 CPU故障 磁盘故障 活跃连接多 磁盘打满 连接数打满 CPU负载高 主板故障 网络隔离 网络丢包 网络抖动 网络延迟 平台自身基础能力 风险控制 分析复盘 演练场景推荐 集群拓扑 风险评估 复盘分析 访问链路 故障注入 故障停止 指标观测 自建 人工停止 故障指标 集群编排 异常停止 监控指标 故障编排 正常停止 止损指标 链路编排 通用故障注 入平台 故障编排 依赖的防守能力 高可用 容灾管控 故障诊断 故障兜底 支持的数据库 MySQL 拓扑自愈 支持的数据库组件 数据访问中间件 数据传输 高可用 Binlog Server 10
11. 建设实践-故障注入能力 故障场景 主库宕机 从库宕机 主从延迟 故障编排 并行故障 主库IO夯 从库活跃 连接多 串行故障 并发能力 1min 5000+ 中间件HA 11
12. 建设实践-演练流程 演练前: 1 针对演练集群进行风险评估; 2 多级审批,知晓演练风险; 3 演练前创建群,周知演练内容。 扩充风险项 完善风险 (演练后) 演练复盘 演练中: 1 故障注入前集群拓扑复核; 2 高频失败自动熔断后续演练。 风险评估 (演练前) 风险复核 (演练中) 演练后: 1 进行故障清理(如果必要) 2 进行演练复盘,完善风险管控 平台支持 运营数据 一键终止 (演练中) 执行预案 数据库故障演练平台 12
13. 建设实践-爆炸半径控制 半径越大,影响越 大,暴露问题更多 半径越小,影响越小, 暴露问题有限 物理隔离: 场景维度隔离:同一个时间点,单个数据库 集群只能注入单一类型的故障 机器维度隔离:单个集群的故障注入只能选 定一个机器。 流量控制: 中间件按权重下发少部分流量到演练节点 演练前 演练中 •风险检查 •故障终止 •多级审批 演练后 •故障清理 •拓扑恢复 13
14. 建设实践-演练复盘 • 提供故障演练的复盘报告,为 RD/DBA 人工判断演练是否符合预期提供数据支撑 • 演练不符合预期的场景下(包括 RD/DBA 人工反馈和系统自动依赖稳态判定不符合 SLA ),打通 故障演 练平台 和 故障复盘两大产品,自动生成时间线用于人工复盘演练的结果 RD/DBA主动反馈 演练完成 待确认 RD/DBA未反馈 不符合预期 生成复盘信息 稳态校验不通过 稳态校验 稳态校验通过 不符合预期 生成复盘信息 符合预期 14
15. 建设实践-演练复盘 15
16. 建设实践-随机、无通知演练 添加演练计划: 1 集群、场景筛选、演练时间添加; 2 按集群、场景维度检查风险; 3 多级审批,知晓相关人风险。 演练计划 添加 演练任务 生成 演练任务 执行 演练任务生成: 1 按演练计划随机生成演练任务; 故障演练 2 周知相关人(演练时间?No) 演练执行: 数据库故障演练平台 1 复用故障演练流程; 2 演练前可取消,演练中可终止, 演练后自动恢复。 16
17. 建设实践-演练模式对比 演练类型 演练目的性 有人值守 事先周知 常规故障演练 强,验证已知的问题场 景是否会再次造成事故 是 是,明确知道演练时间 及相关风险 随机、无通知演练 中,已知故障场景在有 限集群范围内,是否会 产生问题 否 中,有限集群、场景范 围内,不确定具体演练 时间及相关风险 混沌工程 弱,检验未知的故障场 景是否会造成事故 否 否,完全无周知 17
18. 建设实践-演练运营体系 •接口成功率 •演练集群数 & 次数 •接口耗时 •集群覆盖率 & 达标率 •场景覆盖率 & 达标率 平台能力 演练核心 指标 指标 业务接入 指标 •反馈率 大规模演 练核心指 标 • 核心业务接入情况 •演练规模 •DBA推广情况 •故障注入成功率 •故障注入耗时分布 18
19. 03 落地情况 19
20. 落地情况-演练推广 故障驱动 主动演练 • 特定故障发生导致业务损失,故 障容忍能力建设、验证 • 通过学习故障案例,验证相关故 障场景是否对自己的业务有影响 • 联合所有业务线进行大规模演练, 验证特定场景下的业务容错能力 DBA组织 是否符合预期 20
21. 落地情况-实验环境 风险更高、更贴近生产故障 线上真实环境 线上演练环境 线下环境 线下测试环境,主要 用来发现问题后进行 线上业务集群环境, 结合具体业务进行的 线上演练环境,主要 用来进行大规模容灾 故障演练,更加真实、 全面的验证故障影响 演练,验证防守组件 综合能力 及预案有效性 相关预案建设、验证 21
22. 落地情况-演练规模 规模越大,影响范围越大 单集群演练,主要 验证故障影响及预 案有效性 小、中规模集群演 练,规模化验证特 定故障场景对业务 的影响 大规模演练集群演 练,验证容灾能力, 相关防守组件的防 守能力 22
23. 落地情况-场景 & 等级 风险更高、收益更大 高等级集群 低等级集群 高等级集群演练, 使故障演练发挥更 故障影响更高(无损->有损) 主库宕机 主从延迟 从库宕机 验证业务影响, 验证业务影响, 验证预案有效性 从重要程度较低的 重要的作用 集群开始,建立故 障演练的信心 验证业务影响, 切换的RPO及 RTO是否符合预 期 高可用的RTO 是否符合预期 23
24. 落地情况-演练运营数据 常规故障演练 随机无通知演练 24
25. 落地情况-演练运营数据 大规模故障演练 25
26. 落地情况-防守体系能力验证 有助于发现防守组件问题,辅助修复验证 周期性、大规模的故障演练,整体提升防守能力 防守 组件 核心指标 高可用 RTO、RPO 弹性伸缩 切换能力 弹性扩容 决策能力 并发能力 观测 及时性 准确性 26
27. 落地情况-业务演练收益 一、主从延迟预案 验 二、主从延迟,业 务出现死锁 •预案建设:核心业务 •发现问题:对于实时 通过线上主从延迟演 性要求高的请求,未 练,建设针对主从延 兼容主从延迟 迟的预案并验证 三、主库宕机,高 可用服务生效、业 四、主库宕机,新 主库机房选举策略 五、大规模从库宕 机,数据库底层服 务未恢复 不符合预期 务未能全量观测和 •发现问题:连接保活, •发现问题:选举策略 实时处理 你还在使用 受AZ优先策略影响, •发现问题:大规模故 autoReconnect? 未选择最合适的新主 障场景下,底层服务 库 处理的性能存在瓶颈 27
28. 04 未来展望 28
29. 混沌工程成熟度模型 差 一般 良好 优秀 卓越 对比 来源:混沌工程成熟度模型(CEEM)标准解读-信通院 29
30. 混沌工程成熟度等级 开展程度 • 已经在一些核心部门开展了故 障演练 落地收获 • 验证故障影响 • 提升故障容忍度 • 其他稳定性建设的评估 评级 • 基础级 来源:混沌工程成熟度模型(CEEM)标准解读-信通院 30
31. 具体规划 多样性 完善故障演练体系, 降低故障演练成 本 智能化 • 引入更多观测指 • 丰富演练场景 标 建设稳态系统 • 链路故障注入能 故障自动终止能力 力建设 低成本 实现线上业务集群 可观测 建设演练推荐能力 演练的高覆盖率, 发现更多隐患 常态化 31
32. Q&A 32
33. 更多技术干货 微信扫码了解美团招聘岗位 欢迎关注 “ 美团技术团队 ”

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-17 16:25
浙ICP备14020137号-1 $Map of visitor$