金融行业MySQL高可用实践

由于金融行业对数据要求的特殊性,数据库高可用的需求是必须解决的难点,MySQL作为现阶段兼容度较高的开源数据库,明溪源老师谈到了金融行业选择MySQL的原因。随后,他以爱可生金融级MySQL高可用方案为例,对MHA、MGR等高可用方案做了深入的解析,并结合某大型国有银行的案例引出了他们在业务场景下的改进方案。

展开查看详情

1.金融行业MySQL高可用实践 演讲人:爱可生 明溪源 全球敏捷运维峰会 广州站

2. 1 金融行业MySQL高可用方案选型 2 爱可生金融级MySQL高可用方案 目 录 CONTENTS 3 某大型国有银行MySQL高可用实践 2 全球敏捷运维峰会 广州站

3.01 金融行业MySQL 高可用方案选型 3 全球敏捷运维峰会 广州站

4. 金融行业MySQL高可用需求衡量 • 数据一致性(RPO)?业务连续性(RTO)? • 同步力度?业务性能? • 业务规模?可维护性? 4 全球敏捷运维峰会 广州站

5. 金融行业信息系统平台灾备等级要求 容灾等级 RTO RPO 年中断时间 数据备份、数据处理、网络、运维技术要求(部分) • 至少有一个数据副本在同城或异地; 3级 ≤24小时 ≤24小时 ≤4 天 • 支持完成切换准备后,自动或集中切换; • 至少有一个数据副本在异地; 4级 ≤4小时 ≤1小时 ≤10小时 • 异地处于就绪或运行状态,支持自动或集中切换; • 同城、异地至少各有一个数据副本;其中至少一个应同步复制; 5级 ≤30分钟 ≈0 ≤1小时 • 同城、异地,至少一个处于运行状态, 可实时自动或集中切换; • 同城、异地至少各有一个数据副本;其中至少一个应同步复制; 6级 ≤2分钟 0 ≤5分钟 • 同城、异地均处于运行状态, 可实时自动或集中无缝切换; • 数据来源-《中华人民共和国金融行业标准 JR/T 0168—2018》 • 等级依据:影响的广度和深度,影响面分为:内部信息辅助影响、内部生产运营影响、法人及其它机构影响、国家金融秩序稳定影响 5 全球敏捷运维峰会 广州站

6.金融行业MySQL高可用方案选型 容灾等级 可用区 运行状态 MySQL高可用选型建议 3级 ≤1同城 或 1异地 主备+备份 半同步/异步复制+备份 4级 ≤1异地 主备+备份 异步复制+备份 5级 ≤1同城 + 1异地 同城双活 中间件拆分+半同步复制+全局一致性备份 6级 ≤1同城+1异地 同城+异地多活 \ 6 全球敏捷运维峰会 广州站

7. MySQL高可用架构/工具选型 ➢ MySQL Replication – MHA • 适用场景: ✓ 历史遗留实例(MySQL 5.5) ✓ 基于文件位置的主从复制 • 解决的问题: ✓ 从库一致性:一主多从环境,从库之间的日志回放进度对比 ✓ 数据补偿:GTID模式下,具备主动日志补偿能力(当时唯一的开源方案) • 问题及风险: ※ 从库调度:半同步复制下的从库会影响可用性 ※ 业务访问:SIP实现需要自行编写脚本 ※ 数据补偿(MySQL 5.7.2以后):5.7.2引入logic_clock并行回访,binlog格式发生变化 ※ 其它风险:管理节点高可用、relay_log自动清理、SSH免密登录、切换策略、切换判断、后期维护支持 7 全球敏捷运维峰会 广州站

8. MySQL高可用架构/工具选型 ➢ MySQL Group Replication – Innodb Cluster • 适用场景: ✓ 新规划的实例(MySQL 8.0+,相比5.7+版本增加多个重要功能) ✓ 低延迟、少抖动、不易隔离的网络环境 • 解决的问题: ✓ 切换:基于组复制的自动选主 ✓ 业务访问:轻量级中间件MySQL Router统一访问 ✓ 数据补偿:灵活的一致性策略(写多数派&读等待) ✓ 探活:允许合入大事务中、超时时间有额外等待 • 风险与难点: ※ 部署配置(多数派选择、内网外网配置、网络超时时间、事务一致性模式、实例权重、成员离开行为) ※ 网络隔离(同城切换),需要人工维护处理 8 全球敏捷运维峰会 广州站

9. 同城切换场景MySQL组复制风险 • 收益: ✓ 主实例故障自动切换 方案1: ✓ 备园区故障对集群无影响 主位于多数派园区 • 风险: ※ 主园区故障,集群无法选主,需要人工介入处理 主园区 备园区 • 收益: ✓ 主园区故障,集群仍可选主,配合业务集中切换 方案2: • 风险: 主存在于少数派园区 ※ 无法做同园区切换(可评估改为5节点) ※ 备园区故障,主园区受影响,需要人工介入处理(可评估自愈处理) 主园区 备园区 9 全球敏捷运维峰会 广州站

10.02 爱可生金融级 MySQL高可用方案 10 全球敏捷运维峰会 广州站

11. 高可用产品逻辑架构 - 金融级高可用管理示意图 核心:异步/增强半同步/组复制; Oracle提供源码保障; 管 ⚫ 理 Ucore Ucore UMC WEB UI ⚫ 优化:切换策略自定义;RPO/RTO/跨园区 区 集群配置中心 Ucore 高可用决策 UGuard_MGR(主) UGuard_MGR(备) Ustats UGuard_Agent UGuard_Agent Ustats 信息收集 决策执行 数据库复制 ⚫ 补充: ✓ 完整性:组件本身高可用、从库调度 write binlog sync relaylog ✓ 可维护性:动作历史、延迟历史、日志记录 sync binlog trans_ receipt 业 wait ack ✓ 状态判断:多维度判断,避免误判 务 apply binlog commit 区 commit ✓ 运维体系兼容性:提供脚本执行接口 11 全球敏捷运维峰会 广州站

12.平台整体特性 – 完整的MySQL全生命周期管理 云树®DMP 数据库集群管理平台 快速部署 流程优化 监控运维 安全防护 架构支撑 数 安 实 资 配 参 备 可 自 监 操 平 读 分 据 高 装 例 源 置 数 份 视 动 控 作 台 写 库 库 可 部 接 隔 管 下 演 大 巡 告 审 权 分 分 权 用 署 管 离 理 发 练 屏 检 警 计 限 离 表 限 MySQL数据库 跨数据库 数据库集群 高可用架构 - (A-S 数据主备) 读写分离 - (A-Q 交易-查询) 分布式分库分表架构 - (A-A 同城异地双写) MySQL MySQL RTO/RPO/本地 主库 自动切换 从库 写 kafka 读 夜间批量 导入 SQL变化和分 发 主 从 主 从 … 主 从 异步复制/半同步复制 Oracle MySQL DB2 MySQL分片1 MySQL分片2 MySQL分片N 拆分 12 全球敏捷运维峰会 广州站

13.03 某大型国有银行 MySQL高可用实践 13 全球敏捷运维峰会 广州站

14.某大行 - MySQL发展历程 数据库管理员 API 现有运维 云树®DMP 云树®DMP 管理体系 监控 统一 ➢ 核心目的:支撑行内灾备5级业务系统; 告警 巡检 MySQL 5.6异步复制 ⚫ 架构选型:MySQL半同步复制、开源分 DBLE 分布式中间件集群 K8S容器编排 布式中间件; 高可用行为 replication ⚫ 运维支撑:实例部署、监控、配置、巡 主 从 . 部分 .. . . 业务系统 检、备份恢复、告警; MySQL 5.7半同步复制 .. .. ⚫ 规模扩展:容器化,2000+实例下的物 replication kafka 理资源; 主 从 . InfoSphere CDC .. 同城 A数据中心 … 同城B 数据中心 14 全球敏捷运维峰会 广州站

15.灾备3级部署 – 异地异步复制(Active-Slave) 城市A(承载业务) 城市B(MySQL异步复制) 管理集群 管理集群 故障域A1/A2 三层网络 故障域B1/B2/B3 ⚫ 灵活切换: 实现异地灾备 主实例集群 从实例集群 快速切换(RPO、RTO由 ... MySQL异步 ... 复制 半小时提升至分钟级); 故障域A3 故障域B4 ⚫ 性能提升:本地SSD使单 台服务器可提供IO能力大 城市A(承载业务) 城市B(存储复制) 幅提升,交易响应时间提 升50%; 三层网络 LUN 块设备复制 LUN 15 全球敏捷运维峰会 广州站

16. 灾备4级部署 – 同城半同步复制(Active-Slave) 园区A(承载业务) 园区B(MySQL半同步复制) ➢ 原方案:一主两从一返回; 管理集群 管理集群 ➢ 现方案: 故障域A1/A2 同城网络 故障域B1/B2/B3 ⚫ 本地优先切换:从返回数 可设置;优先本地切换; NBU备份集群 ⚫ 从库自动调度:从库出现 异常主库自动调度; 主实例集群1 从实例集群1 从实例集群2 从实例集群3 ⚫ 多数派管理节点:位于备 ... ... ... ... 园区; ⚫ 跨园区切换:人工二次确 认,RPO=0;RTO<60S; 同城网络 ⚫ 业务系统:满足三、四、 故障域A3 故障域A4 故障域B4 故障域B5 五级灾备需求; 16 全球敏捷运维峰会 广州站

17. 灾备5级部署 – 同城双写(Active-Active) 园区A(承载业务) 园区B(承载业务) 管理集群 管理集群 ➢ 原方案:业务侧路由; 故障域A1/A2 同城网络 故障域B1/B2/B3 ➢ 现方案:DBLE完成路由 ⚫ 优先切换:从返回数可设 DBLE 数据库分布式中间件集群 DBLE 数据库分布式中间件集群 置;优先本地切换; 主实例集群A 从实例集群A1 从实例集群A2 主实例集群B 从实例集群B2 从实例集群B2 ⚫ 业务连续:中间件主备部 署,7*24小时联机服务; ... ... ... ... ... ... ⚫ 跨园区切换:数据库随业 务进行切换,人工二次确 认;RTO<30S 同城网络 ⚫ 业务系统:五级灾备且 故障域A3 故障域A4 故障域A5 故障域B4 故障域B5 故障域B6 RTO要求高; 17 全球敏捷运维峰会 广州站

18.某大行 - MySQL建设核心价值 • 金融级可靠性:从脚本切换过渡到适应不同业务场景的金融级高可用; • 可维护性:从100+实例增长到2000+实例;未来计划5000+实例; • 核心系统保障:满足行内灾备5级要求,三类账户支付系统2018年双十一交易峰值12800TPS; • 数据库生产力:10+大型业务系统,100+小型业务系统,有效降低数据库TCO,实现商业数据库0增长; 18 全球敏捷运维峰会 广州站

19.10年+金融/电信核心OLTP数据库转型服务 19 全球敏捷运维峰会 广州站

20. THANK YOU! 全球敏捷运维峰会 广州站

数据连接未来!围绕Database、Bigdata、AiOps的企业级专业社群。行业大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,受众20W+。