混合云环境下的数据库治理实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 混合云环境下的数据库治理实践
演讲人:蔡鹏
全球敏捷运维峰会 广州站
2. 货拉拉介绍
2020 500人
2021 2000人
覆盖5个国家及地区
香港 : Lalamove团队
国内 : 技术团队
(深圳、上海、北京、杭州、武汉)
全球敏捷运维峰会 广州站
3. 目录
02
01
02
03
混合云数据库
治理背景介绍
04 经过一年建设取得
的成效
05 云时代下 对 DBA的一
点思考
混合云下数据
库治挑战
混合云数据库
管理平台介绍
全球敏捷运维峰会 广州站
4. 混合云数据库治理背景介绍
全球敏捷运维峰会 广州站
5. 混合云数据库治理背景
治理瓶颈突出
老板很生气
系统稳定性差
Excel式运维 管控系统40+
纯人肉支撑 后知后觉
监控混乱
被动响应
无/错标准
被研发吊打
故障频发
制约业
务发展
手段原始
难以为续
幸福感极低
治理环境
异常复杂
MySQL
Aurora
Codis
Cluster
Sentine
l
Kafka
RabbitMQ
PG
TIDB
Mongo
Canal
Mycat
.....
5个DBA
10款选型
3朵
云
5个IDC
全球敏捷运维峰会 广州站
6. 混合云数据库治理挑战
全球敏捷运维峰会 广州站
7. 治理挑战
对云缺乏了解
1.
2.
3.
4.
自建时代积累的经验失效
第一次用云、不熟悉套路
交了一些“学费”
驾驭云不简单
环境复杂
1. 云服务、自建服务共存
2. 存储选型繁多治理难以专精
3. 更严重的是很多选型我也第
一次接触
云商差异化
1. 厂商标准差异,运维方式不
统一,标准化交付复杂
2. 厂商PaaS实现差异运维体
验割裂
统一管理复杂
1. 多云下提供一致性的运维、
研发、体验难度大
2. 多云+全球化一体管能力建
设复杂度高
全球敏捷运维峰会 广州站
8. 痛点&诉求
DBA 自动化多一点 人肉少一点
DEV 流程高效一点 自助化多一点
Boss
既要 |
稳定性
又要 |
研发效率
别让我吼
还要 |
全球敏捷运维峰会 广州站
成本
9. 治理基本思路
A B C D E
做减法 定标准 建能力 70分标准 优先解决
生存问题
果断放弃hold不
住的数据库选型 运维规范
研发规范
SLA/SOP 平台化建设
个性化订制 现有后优
切记完美主义 优先解决致命痛
点问题
一言以蔽之:如何通过平台化手段落地&解
决
全球敏捷运维峰会 广州站
10. 平台化阶段与目标
实现目标
治理一般演进过程
•该有的功能一
个都不能少
•管控当前所有
DB选型
覆盖
面广 功能
面全
提升研
发效率 稳定
成本
智能化
平台化
自动化
脚本化
没有时间去演进、要一步到位
•白屏自助
•提升研发体验
•科学合理的云
资源使用
全球一站式、一致性运维与研发体验
全球敏捷运维峰会 广州站
11. 混合云数据库管理平台介绍
全球敏捷运维峰会 广州站
12. 平台整体架构
技术栈
平台
面向DBA
平台
面向Dev
平台
Open-API
小程序
组件集
监控系统
React
API-Getway 统一网关
自愈系统
国内 新加坡 ...
Service API Service API Service API
Node JS
SQLReview
Python
任务调度
数据总线
Golang
collec
tor agent agent agent agent
MySQL Redis Kafka ES MQ
全球敏捷运维峰会 广州站
无损DDL
......
13. MySQL平台化建设
平台门户
监控报警
运维管理
应急/自愈
资源管理
健康大盘 报警触达 集群管理 任务系统 新建资源 资源交付 SQL查杀 SQL限流
报警收敛 报警静默 实例管理 归档系统 资源画像 资源回收 SQL阻断 新增节点
告警汇总 河流图 变更系统 流程系统
数据分析
冷热DB
一站式
运维平台
规格扩容
巡检系统
成本管理
安全合规
冷热Table 容量巡检 性能巡检 成本趋势 成本分布 日志审计 数据脱敏
未使用表 未使索引 报警巡检 自增水位 成本汇总 成本优化 密码合规 授权合规
屏蔽多云
运维差异
慢查分析 容量分析
覆盖90%
运维场景
基于云底座+自研构建
国内
新加坡
印度
巴西
北美
全球敏捷运维峰会 广州站
14. MySQL中间件建设
DBProxy-DAL
自建起步价 : 32C-64G-1T
高规格
保护数据库不被打垮
解决容量扩展问题
DAL 聚合
SQL Kafka
平台 全量
分析 Clickh
ouse
DAL
128-
255
0-127 128-
255
读写分离
SQL限流
全量SQL
分库分表
0-127
多语言统一访问层
...
1023
1023
负载均衡
热点
SQL
SQL
分布
连接复用
RT
分布
DAL
问题
诊断
注入拦截
限流 熔断
平台
触发 自愈
触发
过载保护
全球敏捷运维峰会 广州站
大容量
弹性足
数据库很抗揍
云上小规格
2C-4~8G
4C-8~32G
8C-32~64G
16C-64G~
在云商内核架构深度优化加持下
仍旧不足以抵消小规格的弹性能
力局限的问题
云上同样强调数据库治理与基础
能力建设
自研解决云间特性差异对标准化
运维、一致性体验带来的差异
15. MySQL基础工具建设
VDBA(自愈)
SQL查杀/限流
SQLReview(SQL审核)
SqlParser
基于
开源
深度
校验
融入DBA经验
数据追踪
弹性扩缩容
Gh-ost(DDL执行)
覆盖
全面
审核规则90+
智斗
研发
审核
结果画像
由工具到
系统的改造
日志模块
改造
Flashback(DML回滚)
开源
深度
定制
性能提升
并行化改造
与平台
深度集成
应急救场(回滚)
全球敏捷运维峰会 广州站
对待云
产品
云上同样需要基本能力
建设、多云环境尤其如
此(更加强调兼容能力)
开源的堆砌是难以做平
台化整合
对待
开源
态度
hold住每一行代码才能
打造更加趁手的系统
个人
思考
DBA更加倾向复合、全
面、多元能力模型、低
门槛高要求
16. Redis平台化建设
平台门户
监控大盘
基础功能
覆盖90%运维
场景
通用Agent
资源池
实例替换
扩缩容
集群管理 自动化部署 超卖 巡检
动态抓包 RDB分析 全量key分析 实时慢日志
CPU低开销 健壮性高 场景自感知 跨云探针实现差异
内存严格控制 维护轻量级 功能动态加载 覆盖所有DB选型
低侵入
功能集成度高
通用、兼容
云上ECS自建
全球敏捷运维峰会 广州站
功能本身实现
相对容易,
解决一般性运
维治理问题
有一定
复杂度
17. Redis ServiceMesh建设
ECS
PHP
解决服务治理、成本治理
Java
资源ID
资源ID
ServiceMesh:LocalProxy VS ServerProxy
GO
local模式充分利用客户端资源,缩短链路减少云
上跨AZ网络不确定性
资源ID
租户数据隔离
资源控制
配置热更新
租户鉴权
LocalProxy
(sidecar)
租户数据隔离 配置加载
Pipline Apollo
租户key前缀+key避免可以冲突、集群多租户模
式可以最大化ECS利用率、避免cluster部署架
构造成的资源浪费
指标深度观测
可以精准统计到各类命令的rt情况,补充现有监控不
足
统一访问层
指标深度观测
key旁路分析
命令级管控
配置监听
命令黑名单、统一访问层为将来接入混合云服务
提供可能(混合云不做统一访问层做到命令级控
制容易影响应用跨云移植)
Key旁路分析&处理
协议实现
Redis-Cluster
统一访问层
实时大key key压缩、热key 热key缓存
资源控制
流量控制、连接控制(连接数、连接池)
全球敏捷运维峰会 广州站
18. Kafka治理背景
一众开源工具拼凑管理系统
1.
部署在各个IDC、管理分散、功能弱、不成体系
管控能力弱、碎片化监控
1.
2.
3.
消费延迟监控不直观、单纯offset lag没有意义
broker监控要额外部署相关export及监控报警系统
Topic相互之间资源竞争
集群内部对象状态缺乏感知
1.
2.
3.
consumer/topic/partition等核心对象无收集统计,无法主动感知业务异常
核心对象缺乏基础监控数据无法做沉淀分析、运维靠人肉经验指导
问题定位缺乏必要的数据支持、服务稳定性完全依靠人工死磕
平台化建设缺乏有效参考
1.
2.
业内开源系统稀少、没有可以直接使用的
可观测性不够友好
全球敏捷运维峰会 广州站
19. Kafka平台化建设
基础
功能层
健康大盘 消息分析 指标监控 流程系统 Broker Zone管理
告警订阅 消息查询 资源治理 消费管理 无用Topic统计
基础
服务层
监控管理
Topic运维
集群管理
集群部署 集群扩容 Topic创建 Topic删除
ZK管理 Broker管理 分区扩容 Topc Config
Topic/cosumer Metadata 消息采样 生产速度采集
网关层
Broker监控
消费进程状态
分区均衡度 UnderReplicated
伪网
关建设中
KafkaGetway( 鉴权/绑定topic与consumer/多租户 )
Group_A
Kafka
集群
Controller监控
p
p
p
Group_B
p
p
p
p
业务A
Broker1
Broker2
业务B
p
p
p
Broker6
Broker5
Broker4
p
p
p
p
资源
物理隔离
p
p
Broker3
全球敏捷运维峰会 广州站
p
p
20. Kafka平台化建设
全球敏捷运维峰会 广州站
21. ES、RabbitMQ、Canal平台建设背景
近20套自带管理系统
维护困难,体感极差 关键指标异常无法采集报警
提供研发订阅
缺乏必要监控数据
采集分析 重要对象元数据维护缺失
依靠人肉记忆
全球敏捷运维峰会 广州站
22. ES、RabbitMQ、Canal平台建设背景
ES
平台
功能层
MQ
集群管理 节点管理 索引创建
索引变更 索引轮转 查询管理
容量统计 监控管理 流程管理
集群管理 创建Vhost
监控大盘 Broker监控
Connection信息
Canal
创建Exchange
Binding管理
Channel信息
元数据
采集存储
ES-API
call
RMQ-API
通用Agent
元数据
Instance管理
状态监控 Server管理
流程管理 Delay监控
创建Queue
权限管理
Consumer信息
call
系统自带接
集群管理
分散管理到集
中管理
创建Limit
流程管理
功能覆盖
全面
统计分析
call
Canal-API
基础对象采集器
元数据
元数据
全球敏捷运维峰会 广州站
数据沉淀
统计分析
23. ES、Rabbitmq、Canal平台化建设
MQ
Canal
全球敏捷运维峰会 广州站
24. 面向研发的自助化平台建设
自助发布
自助监控
自助查询
MySQL
待优化项提示
统计数据呈现
Kafka
ES
查询申请 归档申请 Topic申请 Topic认领 查询申请 查询审批
DB 申请 告警订阅 告警订阅 消息查询 告警订阅 索引认领
DB 认领 慢查信息 索引变更 索引申请
RabbitMQ
MQ申请
告警订阅
队列认领
告警订阅
查询申请
赋能研发
其他
Redis
缓存申请
解放DBA
智能客服 规范文档
数据订阅 DT抽数自助
全球敏捷运维峰会 广州站
提升效率
25. 面向研发的平台化建设
全球敏捷运维峰会 广州站
26. 平台化v2-助力从运维走向运营
数据分析
业务画像
数字化运营
治理由点到面
数据有效利用
数据沉淀 平台合理的
数据埋点
平台底座 基础功能
全球敏捷运维峰会 广州站
27. 近一年治理成效
稳定性
既要
又要
还要
还要
人肉到平台一步到位
平台覆盖所有DB
一站式跨云运维
mysql实例数 mysql磁盘使
翻3.5倍、成 用率从12%提
本涨2.3倍 升至56%
mysql cpu平
均使用率从
3.7%提升至
10.6%
建立起标准化运维体系
赋能DBA&Dev
服务2千人的研发团队
redis实例数 redis内存使 Kafka集群翻
翻4倍、成本 用率从11.3 倍整体成本降
涨2.3倍 提升至22% 低10%
云上极致弹性能力+基础能力建设+平台化运营治理=>科学的资源使用
全球敏捷运维峰会 广州站
28. 云时代下对DBA的思考
资源池化、使用水电煤化
日常管理:备份/还原
数据库 : 安装 / DB参数调优
能力模型改变
数据库的可靠性稳定性在云
能力加持下不在是核心工作 围绕自建打造的传统能力将
不在有生命力
如何科学合理的使用云能力
赋能业务在架构设计方案规
划、节约成本显得更重要
资源交付
集群搭建 / 配置HA
DBA职责转变
rds.CreateDBInstance()
高效、廉价
复合多元化的能力要求DBA
到DA,架构师的转变
上云误区
转型思考
基于云能力打造个性化的运维
平台依旧有必要
自身基础能力建设要求没有变
系统 : 文件系统/OS内核调参
对云产品的学习理解比学习
开源产品更有意义
云上更加强调治理能力没有变
上云是大趋势拥抱变化
泛DB化转型DA:对云上各个数据
库产品综合,深入的理解
Devops:懂数据库懂平台研发,
架构Not Only DBA
硬件 : 服务器/存储/网络
自建时代
云底座
云时代
全球敏捷运维峰会 广州站
29. 云时代下对DBA的思考
运维形态发生改变、应云而变
云厂商/三方开发者
功能模块化
基于云能力开发的
行业标准解决方案
功能高达积木化用户自己组装
Lowcode化拖拽式功能组装
解决方案标准化用户在云市场按需采购
全球敏捷运维峰会 广州站
30. THANK YOU
全球敏捷运维峰会 广州站