自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

京東容器化MySQL生產(chǎn)實(shí)踐

開(kāi)發(fā) 開(kāi)發(fā)工具
京東容器數(shù)據(jù)庫(kù)系統(tǒng),MySQL Docker容器實(shí)例達(dá)到萬(wàn)級(jí)以上。架構(gòu)簡(jiǎn)單可靠,Docker容器計(jì)算平臺(tái)與MySQL集群管理平臺(tái)解耦處理。為描述方便,京東容器化數(shù)據(jù)庫(kù)系統(tǒng)命名為CM(Containerized MySQL),底層京東Docker容器計(jì)算平臺(tái)命名為JDOS。

京東容器數(shù)據(jù)庫(kù)系統(tǒng),MySQL Docker容器實(shí)例達(dá)到萬(wàn)級(jí)以上。架構(gòu)簡(jiǎn)單可靠,Docker容器計(jì)算平臺(tái)與MySQL集群管理平臺(tái)解耦處理。為描述方便,京東容器化數(shù)據(jù)庫(kù)系統(tǒng)命名為CM(Containerized MySQL),底層京東Docker容器計(jì)算平臺(tái)命名為JDOS。

本文重點(diǎn)介紹JDOS如何支持CM。CM是更大的話(huà)題,后續(xù)數(shù)據(jù)庫(kù)團(tuán)隊(duì)會(huì)分享相關(guān)實(shí)踐。

介紹

CM依賴(lài)京東堅(jiān)實(shí)的JDOS技術(shù),MySQL Docker容器實(shí)例達(dá)到萬(wàn)級(jí)以上。

CM借助JDOS技術(shù)優(yōu)勢(shì)獲得主要3個(gè)方面的技術(shù)收益:

  • CM借助Docker容器資源隔離能力,有效支持同一宿主物理機(jī)上多MySQL實(shí)例直接資源隔離,極大提高數(shù)據(jù)庫(kù)實(shí)例部署密度,有效提升資源使用率。
  • CM借助Docker容器資源平滑升級(jí)能力,方便數(shù)據(jù)庫(kù)實(shí)例平滑擴(kuò)容需求。
  • CM借助JDOS平臺(tái)資源池化提供管理容器生命周期API能力,實(shí)現(xiàn)用戶(hù)自助上下線(xiàn)數(shù)據(jù)庫(kù)以及自動(dòng)化運(yùn)維。

本文會(huì)從架構(gòu)設(shè)計(jì),性能測(cè)試等方面說(shuō)明京東CM落地實(shí)踐過(guò)程。

整體架構(gòu)

 

CM與JDOS解耦,CM負(fù)責(zé)管理MySQL主從等集群方式的生命周期管理;京東JDOS負(fù)責(zé)單個(gè)MySQL容器實(shí)例生命周期管理。

京東Docker容器集群分多Region,多POD部署,且不同集群之間網(wǎng)絡(luò)互通,有效支持每個(gè)MySQL實(shí)例可被業(yè)務(wù)系統(tǒng)直接調(diào)用,確保***的網(wǎng)絡(luò)延遲性能。

MySQL集群實(shí)例

  • 優(yōu)先級(jí)、配額

數(shù)據(jù)庫(kù)cluster根據(jù)業(yè)務(wù)重要性劃分不同的優(yōu)先級(jí),京東的劃分更加細(xì)致,這里我們簡(jiǎn)化分2種優(yōu)先級(jí):核心系統(tǒng),非核心系統(tǒng)。

云數(shù)據(jù)庫(kù)管理平臺(tái)只需要在調(diào)用京東JDOS平臺(tái)API時(shí)候,帶上priority=0,即可表示創(chuàng)建的是核心系統(tǒng)依賴(lài)的數(shù)據(jù)庫(kù)。京東JDOS平臺(tái)會(huì)強(qiáng)制把屬于該cluster的多MySQL實(shí)例調(diào)度到不同的機(jī)架,且不資源“超配”。

底層資源云化和核算成本需求,會(huì)針對(duì)按事業(yè)部配給一定的配額,所在的創(chuàng)建數(shù)據(jù)庫(kù)集群實(shí)例成功后,自動(dòng)從該部門(mén)扣除對(duì)應(yīng)的資源值,反之銷(xiāo)毀會(huì)歸還配額到部門(mén)。

  • 監(jiān)控、告警

數(shù)據(jù)庫(kù)cluster自身DB層面的告警由云數(shù)據(jù)庫(kù)集群平臺(tái)提供。涉及到底層計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等資源層面的告警,由底層京東Docker容器平臺(tái)提供數(shù)據(jù)給云數(shù)據(jù)庫(kù)集群。

JDOS架構(gòu)

JDOS是京東統(tǒng)一數(shù)據(jù)中心計(jì)算,網(wǎng)絡(luò),存儲(chǔ)管理平臺(tái)。除支持CM外,也支持京東全部的業(yè)務(wù)系統(tǒng)運(yùn)行環(huán)境。

JDOS系統(tǒng)基于京東扎實(shí)的Openstack,Docker等開(kāi)源技術(shù)的持續(xù)研發(fā)能力,提供穩(wěn)定,高性能的計(jì)算資源平臺(tái)。每個(gè)組件都是獨(dú)立服務(wù)部署,采用MQ互相交互信息,京東重構(gòu)了主要的核心組件服務(wù),使JDOS平臺(tái)可以支持更大的集群規(guī)模,目前穩(wěn)定在6K臺(tái)物理計(jì)算節(jié)點(diǎn)。重新設(shè)計(jì)JDOS升級(jí)功能,做到平滑無(wú)感知,有效支撐長(zhǎng)時(shí)間運(yùn)行容器的穩(wěn)定性。

JDOS控制節(jié)點(diǎn)

JDOS控制節(jié)點(diǎn)服務(wù)組件,借助Haproxy做PooL模式部署,有效避免單點(diǎn)和負(fù)載能力問(wèn)題。

控制節(jié)點(diǎn)3臺(tái)物理機(jī),分別跨在不同的機(jī)架上,避免Tor交換機(jī),機(jī)架電力,服務(wù)器等故障影響。

控制節(jié)點(diǎn)服務(wù)組件混合部署,進(jìn)一步提升控制節(jié)點(diǎn)每個(gè)服務(wù)組件的高可用和負(fù)載能力。

比如計(jì)算服務(wù)API,鏡像服務(wù)API,認(rèn)證服務(wù)API,網(wǎng)絡(luò)服務(wù)API,存儲(chǔ)服務(wù)API進(jìn)程混部同一臺(tái)物理機(jī)。

JDOS計(jì)算節(jié)點(diǎn)

計(jì)算節(jié)點(diǎn)管理網(wǎng)絡(luò)與虛擬化數(shù)據(jù)網(wǎng)絡(luò)使用不同的網(wǎng)口進(jìn)行隔離,全萬(wàn)兆網(wǎng)絡(luò)環(huán)境,對(duì)數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)環(huán)境支持非常好。特別京東在虛擬化網(wǎng)絡(luò)技術(shù)方向的扎實(shí)積累,基本可以做到虛擬化網(wǎng)絡(luò)損耗控制在2%以下。

調(diào)度

調(diào)度架構(gòu)簡(jiǎn)單,負(fù)載可擴(kuò)展。

主要思想是,先一系列filter掉不滿(mǎn)足要求的計(jì)算節(jié)點(diǎn),然后打分,***做排序,選擇***并返回調(diào)度結(jié)果。

  • 資源分區(qū)調(diào)度

按Region,POD,Zone,物理機(jī)等4個(gè)層面劃分計(jì)算區(qū)域,調(diào)度算法靈活可配確保業(yè)務(wù)特點(diǎn)與計(jì)算硬件環(huán)境特點(diǎn)結(jié)合適配。如CM的機(jī)器全部是SSD的硬盤(pán),所以JDOS會(huì)在每個(gè)數(shù)據(jù)中心提供CM SSD Zone的tag,把CM的創(chuàng)建請(qǐng)求優(yōu)先調(diào)度到具有SSD硬盤(pán)的計(jì)算Zone。

  • 親和性和反親和性調(diào)度

創(chuàng)建全新數(shù)據(jù)庫(kù)集群實(shí)例如一主一層,JDOS調(diào)度器會(huì)把這2個(gè)MySQL容器實(shí)例分布到不同的機(jī)架。

業(yè)務(wù)多從庫(kù)需求,要求從庫(kù)是高性能讀,JDOS調(diào)度器會(huì)根據(jù)performance_slave=True標(biāo)記,盡可能把從庫(kù)創(chuàng)建到網(wǎng)絡(luò)繁忙度較小的機(jī)架,并與主在相同的物理POD,甚至同一個(gè)Tor交換機(jī)下面的不同物理機(jī)上。

業(yè)務(wù)增加備份性質(zhì)的從庫(kù)需求,JDOS調(diào)度器會(huì)根據(jù)DB_Cluster_ID=uuid, backup_slave=True標(biāo)記,強(qiáng)制把從庫(kù)創(chuàng)建避免已經(jīng)有該DB_cluser_ID所在的宿主機(jī),以及機(jī)架甚至POD。

  • 可擴(kuò)展性

底層JDOS資源池的擴(kuò)容性,按使用率,有計(jì)劃進(jìn)行擴(kuò)容底層物理計(jì)算資源。

CM每個(gè)庫(kù)使用資源的平滑擴(kuò)容,比如CPU,內(nèi)存,網(wǎng)絡(luò),磁盤(pán)空間均支持平滑擴(kuò)容功能。

采用直接重置修改cgroup的配置,即可達(dá)到平滑擴(kuò)容的目的。

結(jié)合京東設(shè)計(jì)的cpu set與cpu share并存的資源隔離策略,提升資源使用率。

MySQL實(shí)例性能

性能測(cè)試環(huán)境部署圖

測(cè)試環(huán)境硬件配置

 

多容器實(shí)例基準(zhǔn)測(cè)試

測(cè)試模型

場(chǎng)景描述

基礎(chǔ)數(shù)據(jù)為:8個(gè)容器,每個(gè)容器基礎(chǔ)數(shù)據(jù)量為1000W(532M),單表加壓,每個(gè)表10W行記錄,同時(shí)對(duì)多個(gè)容器發(fā)起相同的請(qǐng)求,測(cè)試響應(yīng)情況,并對(duì)比同等線(xiàn)程數(shù)下物理機(jī)的情況。

容器測(cè)試數(shù)據(jù)

物理機(jī)數(shù)據(jù)

穩(wěn)定性測(cè)試

場(chǎng)景描述

單容器1000W基礎(chǔ)數(shù)據(jù),單表請(qǐng)求10W數(shù)據(jù),8容器并發(fā)運(yùn)行24小時(shí)。

性能表現(xiàn)

CPU表現(xiàn)

磁盤(pán)表現(xiàn)

網(wǎng)絡(luò)表現(xiàn)

【本文來(lái)自51CTO專(zhuān)欄作者張開(kāi)濤的微信公眾號(hào)(開(kāi)濤的博客),公眾號(hào)id: kaitao-1234567】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來(lái)源: 開(kāi)濤的博客
相關(guān)推薦

2022-06-03 09:21:47

Svelte前端攜程

2023-09-05 07:40:37

PythonSDKAPI

2021-03-12 07:47:44

KubernetesRedis-clustRedis

2023-07-12 16:07:50

鏈路數(shù)據(jù)湖技術(shù)

2023-10-16 07:39:02

ELKpod日志

2023-12-08 07:59:04

2023-10-16 16:00:27

Redis限流

2022-07-08 09:26:45

Flink快手計(jì)算

2023-10-20 15:08:28

pod日志采集

2022-09-19 08:35:28

Kafka節(jié)點(diǎn)故障

2023-12-26 16:33:57

k8s私有化云服務(wù)

2023-09-07 20:04:06

前后端趨勢(shì)Node.js

2024-12-09 08:27:02

2022-08-01 07:27:36

JavaDocker容器

2015-07-17 07:39:44

搜索下拉框產(chǎn)

2017-01-10 15:22:34

京東容器集群

2024-09-19 08:49:13

2015-10-28 16:20:10

短生命周期容器原生云計(jì)算

2016-12-28 14:16:25

京東高并發(fā)系統(tǒng)設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)