刘俊 陆金所机房一键切换平台建设

Z
buco
2019/07/29

文字内容
1. 陆⾦金金所机房⼀一键切换平台建设 刘俊 陆⾦金金所技术运营部运维开发团队
4. ⽬目录 • 里程碑简介 • 整体设计目标 • 关键技术实现方案 • 平台建设收益 • 陆金所多活机房规划
5. ⾥里里程碑碑简介 1. 闭环cmdb及变更自 动化云平台上线 2. 一键切换项目立项 2017.11 2018.2 陆金所双活机 房建设完成 2018.4 双活机房正式对 外提供服务 2018.5 第2次机房一键切换 演练完成,演练范围 10% 2018.6 2018.7 2018.8 第1次机房一键切 换演练顺利完成 ,演练范围5%。 陆金所一键切换 平台上线 第4次机房一键切换 演练完成,演练范围 60% 第6次机房一键切 换演练顺利完成 ,演练范围 100%。陆金所 已具备5分钟内一 键切换主机房的 能力 2019年3月30日 ,陆金所将主机房 从外高桥切换至宝 信机房,耗时缩短 到4分05秒 2018.9 2018.10 2018.11 2018.12 2019.3 第3次机房一键切 换演练完成,演 练范围30% 第5次机房一键切 换演练顺利完成 ,演练范围80% 2018年12月22 日,通过一键切 换平台实施主机 房从宝信切换至 外高桥,耗时4分 38秒
6. ⽬目录 • 里程碑简介 • 整体设计目标 • 关键技术实现方案 • 平台建设收益 • 陆金所多活机房规划
7. 整体设计⽬目标 01 设计目标 l陆金所双活机房在主机房 发生大规模故障的情况下, 通过一键切换平台5分 钟内完成切换 02 项目挑战 l应用数量庞大、架构复杂、系统多样: 03 关键指标 l机房5分钟内完成切换 全站1400+应用系统;120套+DB l7大类型服务可以独立按需灵活切 实例;300+大网关;3000+job l机房切换演练需分批次,逐步加量 调度,11A/S应用;若干核心架构组件 l生产应用和架构组件标准化改造工作量 大 l切换时效要求高 l运维技术框架重构难度大 换 验证 l所有DB实例并行切换时效控制在5 分钟内 l一键切换平台需具备高可用/权限 控制/环境健康自动检查/CMDB数 据实时更新等功能
8. ⽬目录 • 里程碑简介 • 整体设计目标 • 关键技术实现方案 • 平台建设收益 • 陆金所多活机房规划
9. 20190330机房切换视频
10. 关键技术实现⽅方案——组件类 GTM⽤用户引流⽅方案 DC1电信链路探测DC2业务IP路径 同步组流量 CT Uni N7000 CT N7000 LTM BR LTM BR NAT防火墙 Uni CT GTMDC1-CT 骨干网 DC-1 GTMDC1-Uni N7000 LTM BR NAT防火墙 Uni GTMDC2-CT LTM BR GTMDC2-Uni NAT防火墙 GTMDC3-CT GTMDC3-Uni 骨干网 骨干网 DC-2 DC-3
11. 关键技术实现⽅方案——组件类 ⼤大⽹网关切换⽅方案 外网合作伙伴/互联网 WEB FW FW Lufax WEB F5 Lufax DMZ F5 Lufax WEB GW Lufax DMZ GW Lufax WEB Nginx Lufax DMZ Nginx Lufax WEB F5 Lufax DMZ F5 Lufax APP DMZ
12. 关键技术实现⽅方案——架构类 应⽤用分层分域拆分 分 渠道 业务线 层 PC站 (web) P2 P B2 C M站 APP (H5) 陆 金 宝 APP (iOS) 宝 宝 类 保 险 渠道合作 (Android) 基 金 信 托 (H5渠道) 私 募 资 管 股 票 业务平台 (SAAS) 内容 海 外 产 品 运 营 用户中心 产品中心 注 册 登 实 绑 录 名 卡 个人/机构用户 基础/安全/画像 用户通知 管 搜 展 交 理 索 示 易 产品属性/类目状态/ 库存 合同服务 平 台 运 营 客 服 管 理 内 容 管 理 订 单 生 成 合 同 确 认 推 荐 管 理 社 区 运 营 财 务 管 理 资 产 交 割 数据分析 (在线服务) 支 付 渠 道 充 值 取 现 稽 核 管 理 代 扣 促 销 安 B 全 系 管 统 理 账务 资产 主 账 户 资 金 管 理 开放平台 支付方式 余 额 支 付 运 营 社区 支付平台 支 付 确 认 企 划 管 理 我的账户 交易平台 交 易 确 认 营 销 管 理 营销 自动投资 投 前 校 验 广 告 管 理 广告 推荐 投资组合 分 (ies-be.paic.com.cn) 二级市场 会员中心 (会员/VIP/等级/权 益) 、 内部运营管理 清 算 登 记 数据分析 (报表分析) 技术平台 (PAAS) 配置中心、服务治理、消息中间件、分布式缓存、任务调度、系统监控、 分库分表、搜索引擎、大数据计算、移动网关、应用安全、etc 运维平台 (IAAS) 数据存储、虚拟化、部署发版、网络拓扑、运维监控、系统安全、etc 基础平台 (IAAS) IDC、设备、网络、通讯、网络设备安全、etc 变 更 查 询 记 账 数据分析 (数据建模) 对 账 安 全 风 控 域
13. 关键技术实现⽅方案——架构类 应⽤用多活分布式架构
14. 关键技术实现⽅方案——数据库类 并⾏行行切换框架 投票1 宝信 投票2 防脑裂层 投票3 AI Master (Active状态) AI系统 元数据库 投票4 AI系统 元数据库 投票5 AI Master (Standby状态) 外高桥 AI Proxy Oracle#1 AI Proxy Oracle#2 AI Proxy Oracle#3 AI Proxy Oracle#4 AI Proxy Oracle#1 AI Proxy Oracle#2 AI Proxy Oracle#3 AI Proxy Oracle#4 AI Proxy MySQL#1 AI Proxy MySQL#2 AI Proxy MySQL#3 AI Proxy MySQL#4 AI Proxy MySQL#1 AI Proxy MySQL#2 AI Proxy MySQL#3 AI Proxy MySQL#4 AI Proxy Redis#1 AI Proxy Redis#2 AI Proxy Redis#1 AI Proxy Redis#2 Oracle #1 MySQL #1 …… Oracle #10 MySQL #10 Redis #1 Redis #10
15. 关键技术实现⽅方案——⾃自动化切换平台架构 用户 交 互 平 台 Phoenix (切换设计及执行前台) LuGrafana (切换大盘) CETUS (工作流引擎) PICTOR (API网关与服务总线) 业 务 平 台 基 础 平 台 CMDB (基础数据管理平台) mysql redis PASSPORT (权限认证管理) ES mongoDB PAVO (作业平台) rabbitMQ LuGIT (配置版本化) 底层脚本/API
16. 关键技术实现⽅方案——⾃自动化切换服务⽬目录 切换服务 服务目录1 原子服务1 服务目录2 原子服务2 原子服务3 作业任务组 作业参数 服务目录3 作业任务组1 作业任务组2 作业任务组3 执行顺序 结果判别 异常处理 工作流
17. 关键技术实现⽅方案——分布式作业平台架构 Component TaskGroup Task Group_init Control Notify 组件调度器 任务组调度器 任务调度器 任务组初始化调度器 控制调度器 消息推送调度器 Component TaskGroup Task Group_init Control Notify 组件调度器 任务组调度器 任务调度器 任务组初始化调度器 控制调度器 消息推送调度器 Docker container Docker container Docker container Docker container Docker container Docker container Redis MongoDB 节点调度队列 节点存储 Docker container Docker container Syslog 日志审计调度器 Check_run_fail Syslog 任务检查调度器 日志审计调度器 Docker container Docker container MySQL MongDB Redis 配置存储 索引、节点存储 消息队列 Crontab Check_online 定时任务调度器 Web Node 节点检查调度器 Crontab 后台、api接口 消息中心 定时任务调度器 Docker container Docker container Docker container Docker container
18. 关键技术实现⽅方案——作业任务组执⾏行行流程 任务组调度器判断本次任务执行结果,检 查是否有下一批需要执行的任务,如有, 创建初始化任务,将CMDB查询任 推送ID到任务队列 务ID到推送到任务队列 1 6 等待查询任务返回,获取结 2 完成最后一个任务执行,设 果(IP列表)并创建前置、 主机、后置任务 任务执行完成后将所属任务 5 任务接口调用 组ID再次推送到任务组队列 3 将任务组ID推送到任务组队列 7 置完成状态 查询返回结果 4 任务组调度器触发获取当前需要执行 的任务,并推送到任务队列
19. 关键技术实现⽅方案—— Phoenix⼀一键切换平台 定位 可视化地进原子服务/工作流的 编排、设计、执行。 关键功能 • 原子服务/工作流的表单 • 变更计划制定与展示 • 原子服务/工作流执行过程控 制与展示 • 与ITSM流程打通
20. 关键技术实现⽅方案—— Phoenix切换详情
21. 关键技术实现⽅方案—— Phoenix切换进度
22. 关键技术实现⽅方案—— Phoenix切换⽇日志
23. 关键技术实现⽅方案—— Phoenix前置切换
24. 关键技术实现⽅方案—— Phoenix核⼼心切换
25. 关键技术实现⽅方案—— Phoenix后置切换
26. 关键技术实现⽅方案——⼀一键切换⼤大盘 STEP1 切换行事历 STEP2 切换执行过程 STEP3 切换后检查报告
27. 关键技术实现⽅方案——⼀一键切换⼤大盘 STEP1 切换行事历STEP1 切换行事历 STEP3 切换结果 STEP3 切换后检查报告 STEP2 切换详细过程 STEP4 切换后检查报告 STEP2 切换执行过程
28. 关键技术实现⽅方案——⼀一键切换⼤大盘 STEP1 切换行事历STEP1 切换行事历 STEP3 切换结果 STEP3 切换后检查报告 STEP2 切换详细过程 STEP4 切换后检查报告 STEP2 切换执行过程
29. 关键技术实现⽅方案——全站变更更策略略 事前 l全面评估、形成行事 历 l反复审核风险,明确 应急措施 l分拆演习内容,事先 各自验证 事中 事后 l统一指挥 l24小时持续观察 l专人跟进记录问题 l安排现场值班人员 l多重验证 l改进项分析与跟进
30. 其他应⽤用场景 AI监控 故障分析、自愈 •监控点自动部署 •监控完整性校验 •报警策略智能化 DB标准变更 •谨慎评估并建立 DB服务目录 双活机房一键切换 •编排并自动化执行复杂的机房切 换操作 •故障关联分析 •自动执行恢复动作 运维 自动化平台 + 监控平台 定时调度任务 •运维的批处理任务 DEVOPS •部署流水线的底层平台支撑 •自助运维服务能力提供
31. ⽬目录 • 里程碑简介 • 整体设计目标 • 关键技术实现方案 • 平台建设收益 • 陆金所多活机房规划
32. 平台建设收益 l梳理全站应用、DB、核心组 件关联关系 lRTO5分钟 lRPO 0 l重构运维技术框架 更管理策略 l提升了运营团队对异常快 速处理能力 l构建一键切换平台 实现机房级一键切换 l实践了全站演练的重大变 容灾能力达到业界领先水平 提升陆金所品牌价值 提升运营管理能力
33. 平台建设收益 99.969% 停机时间 99.986% 停机时间 99.994% 停机时间 162.97分钟 71.63分钟 31.45分钟 重大事件2个 重大事件1个 重大事件0个 P1事件 50个 2016 P1事件 45个 2017 P1事件 0个 2018
34. ⽬目录 • 里程碑简介 • 整体设计目标 • 关键技术实现方案 • 平台建设收益 • 陆金所多活机房规划
35. 两地四中⼼心⽤用户分⽚片、异地多活⽅方案(2020) 调度 UID:25-49 UID:00-24 上 海 DC 1 ZONE1 ZONE2(备) ZONE3(备) DC 2 ZONE2 ZONE1(备) ZONE4(备) GZONE ZONE 1 UID:75-99 UID:50-74 廊 DC 3 ZONE3 ZONE4(备) ZONE1(备) 坊 DC 4 ZONE4 ZONE3(备) ZONE2(备) GZONE(备) GZONE WEB 无法按照用户UID属性拆分的数据 APP 非核心业务 MIDWARE 全局共用数据 DATA 大数据
39. 附录——陆⾦金金所数据库去O核⼼心流程⾃自动 化 DBA在Bettle平台上一键切换,120秒内完成 初始状态 中间状态 App O开关(写) App M开关(读) DB开关(写) Oracle O开关(写) App M开关(读) 最后一次 增量比对 DB开关(读) DB开关(读) DB开关(读) MySQL Oracle OGG开关(写) OGG开关(读) 双向实时同步 OGG开关(读) 完成状态 O开关(读) DB开关(读) DB开关(写) MySQL Oracle OGG开关(读) OGG开关(写) 双向实时同步 M开关(写) 双向实时同步 MySQL OGG开关(读)