日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

容器集群支持?jǐn)?shù)據(jù)庫實(shí)踐

 lsjwwxt 2017-01-17

京東容器數(shù)據(jù)庫系統(tǒng),管理1800臺(tái)物理計(jì)算節(jié)點(diǎn),生產(chǎn)1W+ 多MySQL Docker容器實(shí)例。架構(gòu)簡(jiǎn)單可靠,Docker容器計(jì)算平臺(tái)與MySQL集群管理平臺(tái)解耦處理。為描述方便,京東容器化數(shù)據(jù)庫系統(tǒng)命名為CDS,底層京東Docker容器計(jì)算平臺(tái)命名為JDOS。

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

介紹

CDS依賴京東堅(jiān)實(shí)的JDOS技術(shù),生產(chǎn)運(yùn)行1W+個(gè)MySQL容器實(shí)例。CDS借助JDOS技術(shù)優(yōu)勢(shì)獲得主要3個(gè)方面的技術(shù)收益:

  1. CDS借助Docker容器資源隔離能力,有效支持同一宿主物理機(jī)上多MySQL實(shí)例直接資源隔離,極大提高數(shù)據(jù)庫實(shí)例部署密度,有效提升資源使用率

  2. CDS借助Docker容資源平滑升級(jí)能力,方便數(shù)據(jù)庫實(shí)例平滑擴(kuò)容需求

  3. CDS借助JDOS平臺(tái)資源池化提供管理容生命周期API能力,實(shí)現(xiàn)用戶自助上下線數(shù)據(jù)庫以及自動(dòng)化運(yùn)維。

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

整體架構(gòu)


CDS與JDOS解耦,CDS負(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ù)庫cluster根據(jù)業(yè)務(wù)重要性劃分不同的優(yōu)先級(jí),京東的劃分更加細(xì)致,這里我們簡(jiǎn)化分2種優(yōu)先級(jí):核心系統(tǒng),非核心系統(tǒng)。

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

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

監(jiān)控 告警

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

JDOS架構(gòu)


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



JDOS系統(tǒng)基于京東扎實(shí)的Openstack,Docker等開源技術(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í)功能,做到平滑無感知,有效支撐長(zhǎng)時(shí)間運(yùn)行容器的穩(wěn)定性。

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

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

控制節(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ǎng)絡(luò)環(huán)境,對(duì)數(shù)據(jù)庫的網(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掉不滿足要求的計(jì)算節(jié)點(diǎn),然后打分,最后做排序,選擇最優(yōu)并返回調(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é)合適配。如CDS的機(jī)器全部是SSD的硬盤,所以JDOS會(huì)在每個(gè)數(shù)據(jù)中心提供CDS SSD Zone的tag,把CDS的創(chuàng)建請(qǐng)求優(yōu)先調(diào)度到具有SSD硬盤的計(jì)算Zone。

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

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

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

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

可擴(kuò)展性

底層JDOS資源池的擴(kuò)容性,按使用率,有計(jì)劃進(jìn)行擴(kuò)容底層物理計(jì)算資源。CDS每個(gè)庫使用資源的平滑擴(kuò)容,比如CPU,內(nèi)存,網(wǎng)絡(luò),磁盤空間均支持平滑擴(kuò)容功能。采用直接重置修改cgroup的配置,即可達(dá)到平滑擴(kuò)容的目的。結(jié)合京東設(shè)計(jì)的cpu set與cpu share并存的資源隔離策略,提升資源使用率。

性能

主要關(guān)注MySQL運(yùn)行在Docker容器內(nèi)的實(shí)際DB層面的性能。

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ì)比同等線程數(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)


磁盤表現(xiàn)


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


【長(zhǎng)按識(shí)別立即關(guān)注】 

 品讀之后,愿有所獲。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多