SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
美团数据库运维自动化系统构建之路
翁宁龙 2016.08
自我介绍
Ø 我是谁?
-  翁宁龙
-  2012年毕业参加⼯工作成为⼀一名DBA
-  2015年加⼊入美团,负责美团数据库运维自动化系统的建设⼯工作
Ø 联系⽅方式
-  邮箱:446978574@qq.com
-  微信:
目 录
Ø 构建前的苦恼
-  数据库运维的多、杂、烦
Ø 构建中的坎坷和思考
-  第⼀一次吃螃蟹:1.0版系统
-  吃螃蟹之后的反思
-  2.0版系统的架构设计 & 典型功能实现案例(三个)
Ø 构建后的效果 & 后期计划
Ø Q & A
目 录
Ø 构建前的苦恼
-  数据库运维的多、杂、烦
Ø 构建中的坎坷和思考
-  第⼀一次吃螃蟹:1.0版系统
-  吃螃蟹之后的反思
-  2.0版系统的架构设计 & 典型功能实现案例(三个)
Ø 构建后的效果 & 后期计划
Ø Q & A
构建前的苦恼 - ⼀一线运维DBA
⼀一线运维DBA-小团
新集群申请
变更
MySQL
RD
……
虚IP
DNS扩容、拆分
SQL审核 &上线
升级
备份 账号 & 安全
数据⼀一致性
问题排查 & 报警处理
RD
构建前的苦恼 - ⼿手动运维的烦恼
ü 两层或三层数据库架构
写DNS
LVS
主库
读DNS
LVS
从库 从库
搭建、扩容、拆分、切换 ……
ü 多 & 重复、没有成长
ü 杂 & 经常被打断
ü 烦 & RD经常不按照规范做事
报警处理、RD问题 ……
⼤大SQL、慢查询、程序重试、误操作 ……
主库
切换、从库流量操作造成业务报错……
目 录
Ø 构建前的苦恼
-  数据库运维的多、杂、烦
Ø 构建中的坎坷和思考
-  第⼀一次吃螃蟹:1.0版系统
-  吃螃蟹之后的反思
-  2.0版系统的架构设计 & 典型功能实现案例(三个)
Ø 构建后的效果 & 后期计划
Ø Q & A
构建中的坎坷和思考 - 1.0版系统设计之初的考虑
ü CMDB(基⽯石)
在线DDL、数据库账号申请、慢查询
ü 可自动化、自助化的运维操作
ü 开发⼈人员和成本
ü 开发形式
共用运维平台资源
“前后端分离”
⽅方便的信息操作、合理精准的业务描述
构建中的坎坷和思考 - 1.0版系统架构设计&使用情况
前端模块
(django+MVC)
用 户
DB
任务扫描&处理
(python+shell)
ü  日均变更1800次(DDL)
ü  使用⼈人数约600⼈人
构建中的坎坷和思考 - 1.0版的反思
ü 前端模块杂⽽而重
ü 没有接⼝口化,RD不能⽅方便接⼊入
ü 开发周期长,成本⾼高
ü 需求调整复杂
开发⼈人员多⽽而杂、依赖库重&可移植性差
ü ⾼高并发性、⾼高可用性差,不易扩展
ü 图像化展示做得不好
ü 任务的不可⼲干预(暂停、回滚、杀死)
构建中的坎坷和思考 - 2.0版架构设计
标准化
 ⾃自助化
 ⾃自动化
-  接⼝口标准
-  数据标准
-  流程标准
-  操作自助
-  问题定位自助
-  ⾼高可用
-  报警处理
构建中的坎坷和思考 - 2.0版架构设计
ü RabbitMQ
消息队列(MQ)是⼀一种应用程序对应用程序的通信⽅方法。应用程序通过读写出⼊入队列的
消息(针对应用程序的数据)来通信,⽽而⽆无需专用连接来链接它们。
构建中的坎坷和思考 - 2.0版架构设计
ü Celery
Celery ハ(芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的⽅方式在分布的
机器/进程/线程上执⾏行任务调度。 Celery的架构由三部分组成,消息中间件(message
broker),任务执⾏行单元(worker)和任务执⾏行结果存储(task result store)组成。
构建中的坎坷和思考 - 2.0版架构设计
CMDB
任务执⾏行者
API层
业务模块
任务管理模块
/queue/alter /queue/switch
⽗父进程 ⼦子进程
用 户
前端Web celery
rabbitmq
TaskControl celery
构建中的坎坷和思考 - 2.0版架构设计
TaskControl
fork
⼦子进程1 ⼦子进程2
fork
任务操作信息注册
init
任务执⾏行单元exit
构建中的坎坷和思考 - 2.0版架构设计
CMDB
任务执⾏行者
API层
业务模块
任务管理模块
/queue/alter /queue/switch
⽗父进程 ⼦子进程
用 户
前端Web celery
rabbitmq
TaskControl celery
⽗父进程 ⼦子进程……
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
业务层
数据库⼊入⼝口
虚IP层
中间层
数据库层
DNS
IP:PORT IP:PORT
ATLAS ATLAS
Master
Slave Slave
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼀一:集群搭建
构建中的坎坷和思考 - 2.0版功能实现案例⼆二:在线表变更
批量的DDL或者DML语句
(1)测试库
(2)sqlparser
(1)命名规范
(2)字符集
(3)引擎
(4)索引
(5)执⾏行计划
……
pt-online-schema-change
API层
语法检查
语义检查
提交任务
任务提交者
构建中的坎坷和思考 - 2.0版功能实现案例⼆二:在线表变更
构建中的坎坷和思考 - 2.0版功能实现案例⼆二:在线表变更
构建中的坎坷和思考 - 2.0版功能实现案例⼆二:在线表变更
构建中的坎坷和思考 - 2.0版功能实现案例⼆二:在线表变更
构建中的坎坷和思考 - 2.0版功能实现案例三:⾼高可用解决⽅方案(MHA)
数据库⼊入⼝口
DNS
IP:PORT IP:PORT
ATLAS ATLAS
Master
Slave Slave
CMDB
API
hookscheckerwrapper
1
1.21.3
2
3.1
3
3.2
4
5
6
目 录
Ø 构建前的苦恼
-  数据库运维的多、杂、烦
Ø 构建中的坎坷和思考
-  第⼀一次吃螃蟹:1.0版系统
-  吃螃蟹之后的反思
-  2.0版系统的架构设计 & 典型功能实现案例(三个)
Ø 构建后的效果 & 后期计划
Ø Q & A
构建之后的效果和后期计划 - 构建之后的效果
构建之后的效果和后期计划 - 后期计划
CMDB
任务执⾏行者
API层
业务模块
任务管理模块
用 户
前端Web
构建之后的效果和后期计划 - 后期计划
CMDB 任务执⾏行者
API层
业务模块
任务管理模块
用 户
前端Web
核⼼心组件库
核⼼心功能库
任务执⾏行平台
初始化
扩容
在线表变更
单点切换
上下线
拆分
报警自动处理
SQL审核
升级
……
Q & A

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (20)

D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomi
 
美团点评技术沙龙010-美团Atlas实践
美团点评技术沙龙010-美团Atlas实践美团点评技术沙龙010-美团Atlas实践
美团点评技术沙龙010-美团Atlas实践
 
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术沙龙011 - 移动app兼容性测试工具Spider 美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
美团点评沙龙012-初创电商的物流摸索
美团点评沙龙012-初创电商的物流摸索美团点评沙龙012-初创电商的物流摸索
美团点评沙龙012-初创电商的物流摸索
 
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术沙龙09 - 美团配送智能调度实践美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术沙龙09 - 美团配送智能调度实践
 
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评沙龙012-从零到千万量级的实时物流平台架构实践美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
 
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
 
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
 
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
 
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
 
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术沙龙13-点评Titans框架的设计和实践美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术沙龙13-点评Titans框架的设计和实践
 
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术沙龙09 - 外卖O2O的用户画像实践美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术沙龙09 - 外卖O2O的用户画像实践
 
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评沙龙12-LBS空间搜索架构的优化历程美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评沙龙12-LBS空间搜索架构的优化历程
 
基于Python构建可扩展的自动化运维平台
基于Python构建可扩展的自动化运维平台基于Python构建可扩展的自动化运维平台
基于Python构建可扩展的自动化运维平台
 
美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡
 

Ähnlich wie 美团点评技术沙龙010-美团数据库自动化运维系统构建之路

赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
 
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
Drupal Taiwan
 
来自腾讯Ceo马化腾的ppt
来自腾讯Ceo马化腾的ppt来自腾讯Ceo马化腾的ppt
来自腾讯Ceo马化腾的ppt
henryweili
 
产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)
产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)
产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)
yihuixue
 
产品设计与用户体验(马化腾)
产品设计与用户体验(马化腾)产品设计与用户体验(马化腾)
产品设计与用户体验(马化腾)
jiangwb
 
7天迅速提高网站访问量
7天迅速提高网站访问量7天迅速提高网站访问量
7天迅速提高网站访问量
guest679b192
 
SOG簡報-(EIP)企業入口網站940929版
SOG簡報-(EIP)企業入口網站940929版SOG簡報-(EIP)企業入口網站940929版
SOG簡報-(EIP)企業入口網站940929版
5045033
 

Ähnlich wie 美团点评技术沙龙010-美团数据库自动化运维系统构建之路 (20)

quick_orm 简介
quick_orm 简介quick_orm 简介
quick_orm 简介
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
 
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
 
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
 
Oracle 数据库服务经验谈
Oracle 数据库服务经验谈Oracle 数据库服务经验谈
Oracle 数据库服务经验谈
 
Hp12 分析不只是分析
Hp12   分析不只是分析Hp12   分析不只是分析
Hp12 分析不只是分析
 
网站运营之人性策略与实战--读后感
网站运营之人性策略与实战--读后感网站运营之人性策略与实战--读后感
网站运营之人性策略与实战--读后感
 
来自腾讯Ceo马化腾的ppt
来自腾讯Ceo马化腾的ppt来自腾讯Ceo马化腾的ppt
来自腾讯Ceo马化腾的ppt
 
产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)
产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)
产品设计与用户体验Good(来自腾讯ceo马化腾的ppt)
 
产品设计与用户体验(马化腾)
产品设计与用户体验(马化腾)产品设计与用户体验(马化腾)
产品设计与用户体验(马化腾)
 
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
 
Anthea 和 Betty:實做工作坊
Anthea 和 Betty:實做工作坊Anthea 和 Betty:實做工作坊
Anthea 和 Betty:實做工作坊
 
7天迅速提高网站访问量
7天迅速提高网站访问量7天迅速提高网站访问量
7天迅速提高网站访问量
 
為什麼會計系學生要學習資料庫? (Why learning DBMS?)
為什麼會計系學生要學習資料庫? (Why learning DBMS?)為什麼會計系學生要學習資料庫? (Why learning DBMS?)
為什麼會計系學生要學習資料庫? (Why learning DBMS?)
 
FileMaker14_by_JYCorp
FileMaker14_by_JYCorpFileMaker14_by_JYCorp
FileMaker14_by_JYCorp
 
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展
 
透過網路連線 MySQL 進行查詢會比較快嗎?
透過網路連線 MySQL 進行查詢會比較快嗎?透過網路連線 MySQL 進行查詢會比較快嗎?
透過網路連線 MySQL 進行查詢會比較快嗎?
 
SOG簡報-(EIP)企業入口網站940929版
SOG簡報-(EIP)企業入口網站940929版SOG簡報-(EIP)企業入口網站940929版
SOG簡報-(EIP)企業入口網站940929版
 
百姓网的网速优化之路
百姓网的网速优化之路百姓网的网速优化之路
百姓网的网速优化之路
 

Mehr von 美团点评技术团队

Mehr von 美团点评技术团队 (8)

美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
 
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
 
2.美团点评技术沙龙08 微服务是银弹么
2.美团点评技术沙龙08   微服务是银弹么2.美团点评技术沙龙08   微服务是银弹么
2.美团点评技术沙龙08 微服务是银弹么
 
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践
 
美团点评技术沙龙08 - 分布式会话跟踪系统架构设计与实践
美团点评技术沙龙08 - 分布式会话跟踪系统架构设计与实践美团点评技术沙龙08 - 分布式会话跟踪系统架构设计与实践
美团点评技术沙龙08 - 分布式会话跟踪系统架构设计与实践
 
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术沙龙07 - 外卖订单系统架构演进与实践美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
 
美团点评技术沙龙07 - 美团配送平台高可用实践
美团点评技术沙龙07 - 美团配送平台高可用实践美团点评技术沙龙07 - 美团配送平台高可用实践
美团点评技术沙龙07 - 美团配送平台高可用实践
 
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
 

美团点评技术沙龙010-美团数据库自动化运维系统构建之路