首页 存档 技术 查看内容

容器集群支持数据库实践

2018-3-30 13:00 |来自: 互联网 301 0

摘要: CSDN云计算 京东容器数据库系统,管理1800台物理计算节点,生产1W 多MySQL Docker容器实例。架构简单可靠,Docker容器计算平台与MySQL集群管理平台解耦处理。为描述方便,京东容器化数据库系统命名为CDS,底层京东Do ...

CSDN云计算

京东容器数据库系统,管理1800台物理计算节点,生产1W 多MySQL Docker容器实例。架构简单可靠,Docker容器计算平台与MySQL集群管理平台解耦处理。为描述方便,京东容器化数据库系统命名为CDS,底层京东Docker容器计算平台命名为JDOS。

本文重点介绍JDOS如何支持CDS。CDS是更大的话题,后续数据库团队会分享相关实践。



介绍






整体架构










CDS与JDOS解耦,CDS负责管理MySQL主从等集群方式的生命周期管理;京东JDOS负责单个MySQL容器实例生命周期管理。京东Docker容器集群分多Region,多POD部署,且不同集群之间网络互通,有效支持每个MySQL实例可被业务系统直接调用,确保极佳的网络延迟性能。



MySQL集群实例











优先级 配额


监控 告警

数据库cluster自身DB层面的告警由云数据库集群平台提供。涉及到底层计算,网络,存储等资源层面的告警,由底层京东Docker容器平台提供数据给云数据库集群。



JDOS架构










JDOS是京东统一数据中心计算,网络,存储管理平台。除支持CDS外,也支持京东全部的业务系统运行环境。



JDOS系统基于京东扎实的Openstack,Docker等开源技术的持续研发能力,提供稳定,高性能的计算资源平台。每个组件都是独立服务部署,采用MQ互相交互信息,京东重构了主要的核心组件服务,使JDOS平台可以支持更大的集群规模,目前稳定在6K台物理计算节点。重新设计JDOS升级功能,做到平滑无感知,有效支撑长时间运行容器的稳定性。

JDOS控制节点




调度


调度架构简单,负载可扩展。


主要思想是,先一系列filter掉不满足要求的计算节点,然后打分,最后做排序,选择最优并返回调度结果。

资源分区调度

按Region,POD,Zone,物理机等4个层面划分计算区域,调度算法灵活可配确保业务特点与计算硬件环境特点结合适配。如CDS的机器全部是SSD的硬盘,所以JDOS会在每个数据中心提供CDS SSD Zone的tag,把CDS的创建请求优先调度到具有SSD硬盘的计算Zone。

亲和性和反亲和性调度


可扩展性

底层JDOS资源池的扩容性,按使用率,有计划进行扩容底层物理计算资源。CDS每个库使用资源的平滑扩容,比如CPU,内存,网络,磁盘空间均支持平滑扩容功能。采用直接重置修改cgroup的配置,即可达到平滑扩容的目的。结合京东设计的cpu set与cpu share并存的资源隔离策略,提升资源使用率。



性能










主要关注MySQL运行在Docker容器内的实际DB层面的性能。

MySQL实例性能

性能测试环境部署图



测试环境硬件配置


多容器实例基准测试

测试模型



场景描述

基础数据为:8个容器,每个容器基础数据量为1000W(532M),单表加压,每个表10W行记录,同时对多个容器发起相同的请求,测试响应情况,并对比同等线程数下物理机的情况。

容器测试数据



物理机数据



稳定性测试

场景描述

单容器1000W基础数据,单表请求10W数据,8容器并发运行24小时。

性能表现



CPU表现



磁盘表现



网络表现





本文转载于微信公众号: 点滴(hbswdd),更多微信文章请扫描关注公众号:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部