Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
《MySQL 容器化部署实践》 演讲者/王晓波 背景 ■ 同程旅游早期的数据库都以单库的MySQL。 ■ MySQL的单库,导致TPS最终还是会成为一个瓶颈。 ■ MySQL+DB中间件解决水平拆分问题。 ■ MySQL水平拆分的引入会使数据库实例数量大幅上升,传统运维手段维护成本高,交付能力差。 MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 模不断增大,快速部署是个问题。 2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿0 码力 | 32 页 | 7.11 MB | 1 年前3Kubernetes Operator 实践 - MySQL容器化
(Load Balancer) Kafka Zookeeper etcd AppEngine(Resin/Tomcat…) 统一服 务管理 Kubernetes 模板管理 自动化测试 部署中心 服务发现 灰度发布 监控中心 日志系统 PaaS SaaS 编 译 发 布 授 权 监 控 IaaS Registry SOA服务框架 DevOps 测 试 账户 当前副本数:3 Controller 的基本原理 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 MySQL 容器化目标 • 快速部署 MySQL 主从集群 • 支持 MySQL 集群高可用 • 支持 MySQL 集群弹性伸缩 • 支持 MySQL 5.5 & 5.7 Master Slave1 Slave2 MySQL Master Slave1 Slave2 mha-manager 集群2 集群1 mha-node mha-node MHA 在 operator 的实现 • mha-manager 部署在 operator 容器中 • mha-node 为边车容器 • 镜像中设置 ssh 免密认证 Operator 在集群成员都正常运行 后,启动 manager 进程 mysql-pod-10 码力 | 42 页 | 4.77 MB | 1 年前3MySQL 企业版功能介绍
Big Fish Games MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 MySQL 可扩展性、安全性、可靠性和无故障运行时间。 MySQL 企业版可在开发、部署和管理业务关键型 MySQL 应用的过程中降低风险、削减成本和减 少复杂性。MySQL 企业版具有以下独特优势: 使用 Oracle MySQL 服务云轻松设置、运行和管理云中的 MySQL Schema 可监视各个用户和应用的性能及资源占用情况。 SQL 和 NoSQL 访问有助于执行复杂的查询以及快速完成简单快速的键值操作。 平台独立性让您可以灵活地在多个操作系统上开展开发和部署工作。 使用 MySQL 作为 Hadoop 和 Cassandra 的业务数据存储,支持大数据互操作性。 MySQL 企业级备份 MySQL 企业级备份能够执行 MySQL0 码力 | 6 页 | 509.78 KB | 1 年前3如何用 MySQL 构建全方位高可用应用
MySQL Enterprise Monitor •在 10 分钟内开始监视 MySQL •实时监视 MySQL 性能和可用性 •直观地查找和修复有问题的查询 •监视磁盘,以便制定容量规划 •适合部署到云的体系结构 – 不需要代理 •可选的代理方式能提供高级 主机/OS 监视 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 12 Enterprise MySQL 数据库进行计划内迁移 和自动故障转移 – 对使用受管 VIP 的应用程序不可见 – 共享存储,一次 1 个实例 4/16/2017 在 Oracle Clusterware 上部署 MySQL 17 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由0 码力 | 40 页 | 2.19 MB | 1 年前3MySQL 数据库架构灾难恢复解决方案
2. 连接到配置的目标集群 当目标集群不是主集群时: 仅打开读取流量 写入将被拒绝 当目标集群为主集群时: 写入端口打开 特性: 可配置每个路由器实例 可以在mysqlsh 中在线更改配置 部署 2 种类型的路由器: • 以“主”为目标以将写入操作发送到“主数据库” • 定义目标集群以便本地读取 INVALIDATED 无效集群仍可用于只读( 可自定义) 路由器集成- 3DC0 码力 | 52 页 | 3.07 MB | 1 年前3谈谈MYSQL那点事
上面。比如月统计报表,比如首页推荐商品 业务实时性要求不是很高,完全可以采用这种弱一致性的设 计架构模式。 中间一致性 如果既不是很强的一致性又不是很弱的一致性,那 么我们就采取中间的策略,就是在同机房再部署一个 S1(R) ,作为备库,提供读取服务,减少 M1(WR) 的 压力,而另外一个 idc 机房的 M2 只做 standby 容灾方 式的用途。 当然这里会用到 3 台数据库服务器,也许会增加采0 码力 | 38 页 | 2.04 MB | 1 年前3
共 6 条
- 1