汽车之家DB服务化平台实践 蔺瑞超@汽车之家

  • 377 浏览

剑仙

2019/03/25 发布于 技术 分类

文字内容
1. 8 汽车之家DB服务化平台实践 1 0 2 C C T D 汽车之家 蔺瑞超
2. About Me • 车之家架构师, MySQL 技术负责人 • 支付宝三年 , 任高级DBA • Wechat : ruiayLin T D C C 0 2 8 1 • Blog : http://ruiaylin.github.io
3. 目录 • 平台介绍 • 运维设施 • 数据设施 • Q&A T D C C 0 2 8 1
4. 服务化平台 之 目标 自动化 自助化 T D C C 0 2 8 1 服务化 智能化
5. 服务化平台 之 发展历程 2014 纯手工 C C T D 2015 工具化 AI 2017 … 0 2 8 1 2016 自动化, 系统化 平台服务化 智能化
6. 服务化平台 之 技术栈 开源技术 独立开发 • Atlas C C • Celery ( 异步任务框架 ) • SaltStack 8 1 0 2 • Go , Python , Flask T D • Binlog2sql • TiDB Parser • HEKA ( Logstash, Hindsight ) • vc-mysql-sniffer • Inception ( SQL 审核组件 ) • Kafka • SQLAdvisor • 等等
7. 服务化平台 之系统架构 服 务 智 能 分 析 运 维 模 块 基 础 组 件 数 据 服 务 资源 申请 生产 变更 SQL 审核 智能异常诊断 权限 控制 可视化切换 时间点恢复 自动化部署 自动化MHA 自动备份恢复 AUTOMHA组件 SALT自动部署 MySQL 容量 信息 故障修复自愈 自动化扩容 自助化申请 资源 大盘 一键化切换 信 息 采 集 备份中心建设 元信息 MSSQL 数据 同步 8 1 0 2 C C 权限安全管控 元信息管理 主机指标 实例指标 性能数据 …… 区间性能趋势 分组监控大盘 SQL优化建议 AutoMask 日志分析处理 DataBus 逻辑 抽取 自助SQL上线 Slow SQL 实时 SQL 实时日志采集 … 链路 关系 数据 设施 平台 AutoLine SQL查询统计 秒级监控告警 Error Log 流量 分析 SQL 自动优化 配置自动优化 空间容量规划 T D 实例, 用户, DB, 表,字段,索 引,数据量... 备份 恢复 复制 状态 APP 同步 实时 传输 数据 脱敏 备份 信息 集群信息 状态 监控 备份 Proxy
8. 服务化平台 T D C C 0 2 8 1
9. 运维设施 T D C C 0 2 8 1
10. 服务化自动化构建 核心功能 技术方案 • 自助化流程申请 • SaltStack • 数据库自动部署 • Celery 异步任务框架 • MySQL 集群 • SQLServer T D C C • Slave 自动化构建 0 2 8 1 • 自动装机系统
11. 服务化自动化构建 0 2 C C T D 8 1 ?
12. 服务化自动化构建 T D C C 0 2 8 1
13. 备份恢复体系 备份 存储 恢复 • 全备 • 正常恢复 • 增量 • 时间点恢复 • 加密 • 集群构建 • 校验 T D C C 0 2 8 1 • 可靠 • 可扩展 • 容易维护
14. 备份恢复体系 T D C C 0 2 8 1 : 与DB交互 : 备份数据流 BR : 备份程序 BR : 传输程序 BR : 恢复程序 1 : 开始备份 2 : 传至Buffer机 3 : 恢复验证 4 : 上传HDFS 5 : 备份清理
15. 备份恢复体系 T D C C 0 2 8 1
16. 高可用架构 基础 DNS 主从 复制 0 2 C C T D 8 1 AUTO MHA Always 未来方向 : 引入 MGR, MIC, 分布式数据库等技术 实现高可用方案的升级换代 ON
17. SQL实时分析 采集类型 实现方案 • 慢查询 0 2 • TiDB 的 SQLParser • 优化分析 C C • 运行报告 • 新出现跟踪 • 实时SQL • 流量分析 • 故障诊断 8 1 • HEKA 实时采集至Kafka T D • 消费端 • 格式化 • 统计分析 • 可视化
18. HEKA实时采集 T D C C 0 2 8 1 采集格式 原始慢查询
19. HEKA实时采集 原始查询 T D C C 0 2 8 1 采集格式
20. SQL实时分析 8 1 Web 系统 MySQL HEKA MySQL HEKA T D RT SQL Topic Error Log Topic MySQL HEKA 0 2 C C Slow SQL Topic Message Queue SQL Consumer 平台DB SQL Parser SQL Processing Log Consumer Log Processing ELK 计算 任务 SQL Adviser
21. SQL实时分析 T D C C 0 2 8 1
22. 数据设施 T D C C 0 2 8 1
23. 8 1 构建公司数据的高速公路 0 2 支持公司向数据化转型 C C T D
24. 需求 数据传输类型 功能需求 维护需求 • 全备 • 数据脱敏 • 增量 • 延迟可控 • 结构变更感知 • 异构传输同步 • • T+1 C C T D 近实时 0 2 8 1 • 简单 • 灵活 • 可扩展
25. CDC获取及技术选型 CDC获取方案 采用方案 • AutoLine 逻辑抽取 C C • Trigger 记录变更 T D • SQL 逻辑抽取 8 1 0 2 • 日志解析(Binary Log) • BinLog 日志解析
26. 0 2 8 1 Part I : AutoLine T D C C
27. 逻辑复制 AutoLine系统 C C 0 2 8 1 本质上是一个分布式的调度系统 T D
28. 逻辑复制 表处理逻辑 系统优势 灵活简单 0 2 C C T D T0 异构支持 T1 8 1 T… Tn Table A 的时间轴 Tn+1 按需扩容 故障自愈…
29. 逻辑复制 分组调度 Celery Task Scheduler 计算扩容 Beat 重复执行 监控告警 结构感知 8 1 0 2 C C Broker ( Multi Task Queue ) T D W0 W1 … W2 Result Store Web系统 平台DB Wn-1 Data Migration Wn
30. 逻辑复制 T D C C 0 2 8 1
31. 0 2 8 1 Part II: 日志解析 T D C C
32. 技术选型 自主研发 开源组件 • Alibaba Canal T D • Tungsten replicator • MaxScale CDC 0 2 C C • Linkin DATABUS 8 1 • Python ( pythonmysql-replication ) • Go ( go-mysql ) • Java (Open Replicator )
33. 模块介绍 日志解析 消息Json化处理 T D 解析端高可用 0 2 C C 幂等消息分发 8 1
34. 模块介绍 快照处理 8 1 创建快照 0 2 START TRANSACTION WITH CONSISTENT SNAPSHOT C C Binlog_snapshot_file T D Binlog_snapshot_position Snapshot Cloning START TRANSACTION WITH CONSISTENT SNAPSHOT FROM SESSION ;
35. 模块介绍 日志应用 基备快照应用 T D 幂等性控制 0 2 C C 增量日志应用 8 1
36. 系统结构 8 1 Apply Worker … 0 2 Topic … LogDumper C C Topic … MySQL Snapshot T D Topic … Apply Worker Strom SQL Database Spark …. Real Time Computing Message Queue Cache Search Engine User-Defined ES
37. T D C C 0 2 8 1
38. T D C C 0 2 8 1