| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档介绍了同程旅游在MySQL数据库容器化部署中的大规模实践。早期使用单库MySQL,后引入水平拆分导致实例数量激增,传统运维成本高。为解决快速部署、扩容不便、资源浪费等问题,基于Docker实现数据库容器化。容器镜像包括MariaDB、MySQL5.7等。资源隔离方面,CPU最大超卖3倍,通过cpu-period和cpu-quota限制;内存不超卖,结合MySQL参数控制;IO通过挂载本地磁盘实现,高IO实例使用PCIE-SSD;网络采用host模式,线下测试Ovs+DPDK方案。调度平台自研,规则包括:同一复制集群实例不在同一宿主机,优先分配空闲资源,根据IO需求调度,VIP集群主从端口一致等。磁盘挂载采用本地宿主机磁盘,IO性能最佳但容量估算困难,计划测试分布式存储。 | ||
| AI总结 | ||
同程旅游在MySQL容器化大规模实践中,主要解决了传统数据库运维成本高、部署慢、资源浪费等问题。核心观点如下:
1. **背景与动因**:早期使用单库MySQL,随着业务增长,引入水平拆分导致实例数量激增,传统运维方式难以为继。容器化旨在解决快速部署、扩容不便、资源浪费和标准化运维需求。
2. **资源隔离与调度**:
- **CPU**:允许CPU最大超卖3倍,使用`cpu-period`和`cpu-quota`灵活限制,避免绑定核心。
- **内存**:不超卖,通过`--memory`限制并结合MySQL内部参数(如`buffer_pool`)控制,配合lxcfs增强隔离性。
- **磁盘**:采用宿主机本地磁盘挂载,IO性能最佳,但容量难以估算,空间不足时需迁移扩容。高IO实例使用PCIE-SSD。正计划测试分布式存储方案。
- **网络**:使用host模式,无法隔离但通过10G接入和控制密度避免过载。线下尝试Ovs+DPDK方案。
3. **高可用调度平台**:自研Docker调度平台,核心规则是**同一主从集群的实例必须分布在不同宿主机上**。调度优先选择资源最空闲、IO最空闲的主机,并依据IO需求分配不同磁盘类型。
4. **核心组件与功能**:
- **镜像**:包含MariaDB、MySQL 5.7、监控、HA管理、实例迁移等多种镜像。
- **自动化运维**:提供Open API、数据校验、实例迁移、秒级监控、慢日志分析等功能。
- **资源池调度**:用户可“点单式”选择配置(CPU/内存)、架构(一主一从/多从)、硬件(SATA/PCIE-SSD)和机房。
5. **实践经验**:容器化实现了MySQL的高密度、隔离化和高可用部署,但需注意Docker在隔离性(如/proc信息)上的缺陷,并通过lxcfs等技术增强。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
25 页请下载阅读 -
文档评分














Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波