MySQL云数据库架构设计实践 洪斌@爱可生

剑仙

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

文字内容
1. 8 MySQL云数据库架构设计实践 1 0 2 C C T D 洪斌
2. 关于我 洪斌 南区负责人 2010年加入爱可生至今 0 2 C C T D 8 1 上海爱可生致力于为行业客户提供开源数据库的企业级数据管理解决方案。 http://www.actionsky.com
3. 大纲 • MySQL 8.0 • 为什么需要DBaaS C C • 服务可用性设计 T D • 数据可用性设计 • 监控设计 • DTS设计 • 未来规划 8 1 0 2 • 架构设计演进
4. MySQL版本演进 T D C C 0 2 8 1
5. SQL + NoSQL = MySQL T D C C 0 2 8 1
7. 8.0 新特性 T D C C 0 2 8 1
8. 为什么需要DBaaS • 降低开源数据库使用门槛 • 手工->自动化->自助化 • 服务标准化 T D C C 0 2 8 1
9. 一代设计 T D C C 0 2 8 1
10. 二代设计 T D C C 0 2 8 1
11. 存在的问题 • 环境依赖,测试覆盖不足 • 没有扩展性,功能全部耦合 0 2 • Failover无法保证数据一致性 • 配置管理存在单点 C C T D 8 1 • 监控、告警依赖第三方监控平台 • 备份计划依靠定时任务,缺失恢复演练 • …
12. 设计考量 • 开发语言 • Golang/Python/Java? 8 1 • 架构设计 • 按功能进行微服务拆分 • 故障域小 • 可按功能独立升级 • 可降级运行 • 逐级守护 • 自检告警 • 反向告警 • 支持VPC网络 • 安全性 • • • • T D C C 0 2 RPC链路加密GRPC with TLS, 每个服务器生成私钥 日志无明文密码,落地加密保存 审计日志 Linux capabilities机制权限细分,避免使用root和sudo
13. 三代设计 T D C C 0 2 8 1
14. 多架构管理 T D C C 0 2 8 1
15. 服务可用性 • • • • • 不只是切换 Slave 写了数据怎么办 Slave的可用性 复制链路的可用性 决策者的可用性 T D C C 0 2 8 1
16. 服务可用性-切换 T D C C 0 2 8 1
17. 服务可用性-逐层守护 T D C C 0 2 8 1
18. 服务可用性-SLA 一种辅助切换决策的量化机制。 RPO 协议 Level 服务等级描述 日志 差异 主从 延时 Level 服务等级描述 主从 延时 P1 数据零丢失,秒级 切换 0 <20s T1 数据最多补全 10 分 钟,数据最多丢失 0 <10分 钟 P2 数据零丢失,分钟 级切换 0 <60s T2 P3 数据零丢失,10分 钟切换 0 数据最多补全 10 分 钟,数据最多丢失 10 s <10分 钟10 秒 T3 数据最多补全 10 分 钟,数据最多丢失 60 s <11分 钟 T4 数据最多补全 10 分 钟,数据最多丢失 15 分钟 <25分 钟 TE 数据最多补全 10 分 钟,数据丢失超过极 限 15 分钟, 不切换 >25分 钟 T D P4 数据零丢失,大于1 0分钟切换 0 PE1 数据丢失,不切换 >0 PE2 数据丢失,不切换 >0 PE3 数据丢失,不切换 >0 0 2 C C <10分 钟 >10分 钟 <20s 8 1 RTO 协议 <60s <10分 钟
19. 数据可用性-备份&演练 DB1 DB1 备份集 Urman_agent 开始备份 0 2 C C Urman_mgr 转储 备份 策略 远程转储空间 T D 如果本 地没有 则拷贝 8 1 下 发 备 份 任 务 下发恢复 任务 Urman_agent 演练 DB 演练 恢复 故障 恢复 新 DB1
20. 监控设计 • 集成Prometheus & Grafana • 单export设计 C C • 时序数据存储 • 高性能数据采集 T D 8 1 0 2 • 自动服务发现
21. DTS设计 • 分布式架构 • 窄带宽下传输效率高于原生 C C • 支持GTID T D • 支持并行回放 • 支持kafka 8 1 0 2 • 全量+增量传输 • 支持 multi-master, star, fan-in 多种拓扑 • 兼容阿里云、微软云、原生MySQL
22. DTS设计 T D C C 0 2 8 1
23. DTS设计 T D C C 0 2 8 1
24. 未来规划 • 支持更丰富的开源数据库 • Redis?ES?PG? • 容器化 C C 0 2 • 适合数据库的容器化管理方式 • 混合云 T D • 公有云+私有云 8 1
25. 云树®系列产品 数据库运维管理平台 云树®RDS 自助化云数据库平台 云树®Shard 分布式数据库中间件 C C T D 8 1 0 2 云树®DMP 云树®Guard MySQL高可用软件 云树®Proxy 高性能读写分离中间件 云树®DTS 数据迁移与数据同步软件
26. DBLE A High Scalability Middle-ware for MySQL Sharding 8 1 https://github.com/actiontech/dble C C 0 2 T D 微信群 QQ群
27. T D C C 0 2 8 1