美团数据库容灾体系建设实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 美团数据库容灾体系建设实践
蔺瑞超
1
2. 自我介绍
蔺瑞超 美团数据库技术专家
曾就职与支付宝、汽⻋之家、百度,有10多年数据库运维、平台开发、架构设计经验,一直
围绕着数据库技术在做事情。
20年加入美团,目前整体负责到店数据库稳定性保障,同时负责运维自动化建设以及容灾
管控体系建设工作。
2
3. 目录
• 容灾介绍
• 美团容灾架构
• 数据库容灾建设
•
• 平台建设
• 演练体系
• ⻛险运营
未来思考
3
4. 容灾介绍
4
5. 容灾简介
三大类故障: 主机故障,机房故障,地域故障。
主机故障
地域故障
机房故障
• 主机网络故障 • 电力故障 • 战争
• 硬件故障 • 制冷系统故障 • 强自然灾害等
• 流量过载等 • 机房网络故障 • 自然灾害等
故障发生概率越来越小
故障的影响面越来越大
容灾核心能力就是能够处理应对大规模的服务故障,保障业务连续性。覆盖机房级、地域级故障场景。
近两年数据中心级故障发生10多起,对相关公司的服务和品牌产生了很大的影响,容灾能力已成为公司或组织信
息化建设的必选项。
5
6. 面临的挑战
数据库集群规模爆发式增⻓
高可用系统的并发处理能力成为瓶颈。
管控链路越来越复杂,一个环节出问题,导致整体失效。
大规模故障发生的频次和概率也变得越来越高。
演练成本高、频次低
核心能力验证不充分,大规模故障的应对能力处于不可知状态,已知容灾能力“保鲜”困难。
自然灾害频发
加上疫情影响,使得容灾管控的难度和挑战都大幅提升。
数据库作为有状态服务,建设应对大规模故障能力的难度和挑战都更大。
6
7. 美团容灾架构
7
8. 容灾演进路径
容灾1.0
容灾2.0
容灾3.0
• 以数据为中心 • 以应用系统为中心 • 容灾以业务为中心
• 多为单活形态 • 多为同城双活、多活形态 • 多活及异地多活形态
• 架构以主备方式居多,备
用系统不承担流量 • 架构为同城双活,两地三中
心 • 多为单元化架构,业务系统就
是容灾系统
AZ 1
AZ 2
应用
应用
主
读
主从复制
读
从
应用
应用
应用
应用
写
主
写
读
主从复制
读
从
主
SET 1 SET 2
应用 应用
写
写
AZ 2
应用
应用
AZ 1
应用 应用
主从
复制
主
从
DTS数据双向复制
美团:大部分业务处于2.0阶段,部分大体量且有地域容灾、拓展要求的业务步入了3.0阶段。
8
主从
复制
从
9. 美团容灾架构
N+1容灾架构
也称散部或者多AZ部署方案。将容灾能力下沉到云上的各基础Paas组件,容灾切换由各个组件独立完成。
同城多活
描述:业务同城多活,数据库双/多机房部署,写
流量只在单机房处理,读流量可以在机房间无差异
调度。
AZ 1 AZ 2 AZ 3
应用
应用 应用
应用 应用
应用
写
主
写
读
主从复制
读
写
从
从
主从复制
9
读
10. 美团容灾架构
单元(SET)化容灾架构
是一种偏应用层的容灾架构,它将流量,应用,数据,基础PaaS组件按照统一的维度切分成多个单元,每个单元处理一部分流
量。业务以单元作为部署单位,通过单元互备方式实现同城容灾或者异地容灾。
架构特点
•
接入层
单元流量闭环,资源
隔离
应用 应用 应用 应用 应用
应用
主
主从
复制
应用
从
主
主从
复制
应用
从
主
主从
复制
应用
从
主
DTS数据双向复制
主从
复制
应用
从
DTS数据双向复制
SET架构示意图
10
运维管理复杂
SET 4
需要业务系统改造,
SET 3 • SET 2 更强容灾及扩展能力
SET 1 • 中心SET
主
主从
复制
从
11. 数据库容灾建设
11
12. 基础数据库架构
主从架构
MGR架构
12
13. 高可用架构
核心组件
• 高可用组件及服务
• 配置中心
• 元信息CMDB
13
14. 建设路径
高频演练&
故障驱动
容灾目标
容灾标准
建设平台
演练能力
建设
能力增强
体验提升
基础能力
演练运营
用户高频
使用
容灾能力
持续提升
开发迭代
14
发现问题
⻛险
平台需求
⻛险治理
15. 平台建设
数据库容灾管控平台DDTP(Database Disaster Tolerance Platform)是为应对大规模数据库故障建设
的集容灾管控、故障演练于一体的容灾平台。
容灾管控平台 数据库演练平台
容灾相关能力的落地载体,专注于防守。3大核心能力: 数据库演练平台,专注于进攻。通过故障演练帮业务和平
事前逃生、事中观测止损、事后恢复。 核心能力借助于 台发现应用和数据库问题,提升服务的稳定性。
容灾演练进行夯实。
核心功能: 容灾画像、逃生切换、观测大盘、兜底切 核心功能: 常⻅数据库故障注入、链路故障注入、
换、预案平台、容灾决策中心等 演练管理,演练复盘等
15
16. 平台全景
16
17. 容灾N+1标准
容灾等级定义
0 1 2 3 4 5
单机( 共宿主机 ) 多机部署 多机部署 多个机房 多个机房 多个机房
主从HA 主从HA 主从HA 主从HA
各区域满足 N+1 各区域满足 N+1
各地域容量对等
SET化评估
SET化评估
SET化评估
SET化架构 根据路由策略、机房对应关系、容量对等多个维度进行评估打分,不同分数段会影响该集群的总体容灾等级。
最终的⻛险判定:一个集群容灾等级 >= 4级为达标,< 4级存在容灾⻛险。
17
18. 容灾N+1标准
基础容灾数据建设
• 规则代码化,计算流程化
• 数据增量计算,容灾数据保鲜
• 基于容灾数据建设⻛险隐患
• 容灾隐患的一键治理
18
19. 故障前逃逸能力
批量逃生切换
故障前主动发起的一种逃生能力。收到预警或者提前感知灾难来临的时候触发,快速的将一个机房的数据库服务切走,降低或
者消除故障带来的影响。
19
20. 故障中观测
容灾观测大盘
是DBA的眼睛,为容灾决策提供重要的数据支持。容灾大盘能提供实时且精准的故障列表(未自动处理的或者处理失败的主库
故障及从库故障),为兜底提供数据输入。
20
21. 故障中止损
预案管理平台
基础运维操作单元化,可复用、可编排;预案工作流化,可调度、可执行。 预案管理平台化、配置化。
21
22. 故障中止损
三级兜底
容灾管控平台兜底、运维编排层兜底、CLI 工具兜底。
HA
自动切换
DDTP
平台兜底
OOS
服务兜底
CLI
工具兜底
22
23. 故障后恢复
容灾决策中心
是集群扩容,资源决策的大脑,在故障后决策中心能快速将同区域其他IDC的可用机器扩容上线,补⻬服务组容量,与IDC故
障前对⻬,保障集群的峰值服务能力。
23
24. 演练体系建设
以演练为抓手,验证并驱动各项能力的达成。
多环境
• ⻓稳环境
• 隔离演练环境
• 生产环境(专用演练专
区,正常生产环境)
高频次
•
•
大规模
⻓链路
天级别(⻓稳下的容灾演
练) • 故障切换能力 • 高可用组件服务
逃生切换能力 • 外部组件服务
周级别(专区演练,隔离
环境演练,随机无通知演
练) • • 事中止损能力 • 管控平台服务
24
25. 隔离环境演练
隔离环境演练
隔离环境是一套和生产机房完全隔离的环境,有独立的TOR,机柜等。独立部署高可用及其依赖的组件和服务。开展相对极端
的故障场景,如断网,断电等。
各基础组件以及演练集群
验证拎包部署
隔离演练环境:独立TOR/机柜/物理机
25
• 开展⻛险评估
• 隔离演练⻛险
•
26. 生产环境故障演练
常态化、大规模演练
在生产环境开展的数据库容灾演练,演练对象是临时创建的大量非业务集群,这些集群由生产环境的高可用平台托管。通过演
练验证各种基础容灾能力,
• 生产高可用环境
• 非业务集群
• 带载客户端
26
27. 生产环境故障演练
真实的专区演练
基于云构建了一个专用演练AZ,参演的基础组件和业务服务事先在该机房完成部署,在演练的时候真实的断网。
•
•
•
真实机房断网
私有云AZ
应用
演练AZ
应用
应用
应用
真实组件服务参演
…
验证组件的实际故障应对能力
Cache
…
Cache
DB
27
DB
28. ⻛险运营治理
⻛险巡检 ⻛险项
• 基于规则 • 非核心隐患60个
• 高频巡检 • 核心隐患62个
• 专项治理9个
高效治理
• 一键修复
• 自动治理
精细运营
• 分级分类管理
• 触达RD:运维周报、运营中心等
• 触达DBA:⻛险运营中心,大象通
知
28
29. 未来思考
29
30. 消除短板
现有问题未完全解决,业务发展带来新的挑战。
能力短板
如何破局
• 超大规模的逃生能力,止损能力不足 • 容灾管控跨台阶式提升,并发处理能力突破5k+集群
• 专线故障会导致Region级高可用失效 • 探索容灾单元化解决方案,支持Region级闭环
业务出海给容灾架构的新挑战 • ⻓臂管辖、独立部署、打造全新架构,我们需要探索
• 推进容灾管控,应急止损的全面自动化;演练全面自
•
•
大规模故障决策处理效率低、演练成
动化
本高
30
31. 技术演进迭代
技术快速发展演进,容灾体系要紧跟技术进行架构升级及能力迭代。
数据库中间件
数据库内核
• 客户端HA成熟 • 数据强一致方案落地
• Database Mesh化 • 存计分离架构落地
• 数据库服务Serverless化 • 分布式数据库普及等
31
32. Q&A
32
33. 更多技术干货
欢迎关注“美团技术团队”
微信扫码了解美团招聘岗位