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

分享

不斷超越的調(diào)度系統(tǒng):如何撐住9年雙11交易峰值800倍增長(zhǎng)

 xujin3 2018-08-24

劃重點(diǎn)

阿里巴巴 9 年雙 11 經(jīng)歷下來(lái),交易額增長(zhǎng)了 280 倍、交易峰值增長(zhǎng) 800 多倍、系統(tǒng)數(shù)呈現(xiàn)爆發(fā)式增長(zhǎng)。系統(tǒng)在支撐雙 11 過(guò)程中的復(fù)雜度和支撐難度以指數(shù)級(jí)形式上升。雙 11 峰值的本質(zhì)是用有限的成本最大化提升用戶體驗(yàn)和集群吞吐能力,用合理的代價(jià)解決峰值。
本文將從阿里巴巴統(tǒng)一調(diào)度體系、混部架構(gòu)、云化架構(gòu)三個(gè)方面詳解阿里是如何支撐如此龐大的系統(tǒng)。


統(tǒng)一調(diào)度體系

始于 2011 年建設(shè)的 Sigma 是服務(wù)阿里巴巴在線業(yè)務(wù)的調(diào)度系統(tǒng),圍繞 Sigma 有一整套以調(diào)度為中心的集群管理體系。

集群管理和調(diào)度系統(tǒng) Sigma 架構(gòu)圖

Sigma 有 Alikenel、SigmaSlave、SigmaMaster 三層大腦聯(lián)動(dòng)協(xié)作,Alikenel 部署在每一臺(tái)物理機(jī)上,對(duì)內(nèi)核進(jìn)行增強(qiáng),在資源分配、時(shí)間片分配上進(jìn)行靈活的按優(yōu)先級(jí)和策略調(diào)整,對(duì)任務(wù)的時(shí)延,任務(wù)時(shí)間片的搶占、不合理?yè)屨嫉尿?qū)逐都能通過(guò)上層的規(guī)則配置自行決策。SigmaSlave 可以在本機(jī)進(jìn)行容器 CPU 分配、應(yīng)急場(chǎng)景處理等。通過(guò)本機(jī) Slave 對(duì)時(shí)延敏感任務(wù)的干擾快速做出決策和響應(yīng),避免因全局決策處理時(shí)間長(zhǎng)帶來(lái)的業(yè)務(wù)損失。SigmaMaster 是一個(gè)最強(qiáng)的中心大腦,可以統(tǒng)攬全局,為大量物理機(jī)的容器部署進(jìn)行資源調(diào)度分配和算法優(yōu)化決策。

整個(gè)架構(gòu)是面向終態(tài)的設(shè)計(jì)理念,收到請(qǐng)求后把數(shù)據(jù)存儲(chǔ)到持久化存儲(chǔ)層,調(diào)度器識(shí)別調(diào)度需求分配資源位置,Slave識(shí)別狀態(tài)變化推進(jìn)本地分配部署。系統(tǒng)整體的協(xié)調(diào)性和最終一致性非常好。我們?cè)?2011 年開始做調(diào)度系統(tǒng),2016 年用 Go 語(yǔ)言重寫,2017 年兼容了 kubernetes API,希望結(jié)合生態(tài)的力量,共同建設(shè)和發(fā)展。

混部架構(gòu)

阿里巴巴在 2014 年開始推動(dòng)混部架構(gòu),目前已在阿里巴巴內(nèi)部大規(guī)模部署。在線服務(wù)屬于長(zhǎng)生命周期、規(guī)則策略復(fù)雜性高、時(shí)延敏感類任務(wù)。而計(jì)算任務(wù)生命周期短、調(diào)度要求大并發(fā)高吞吐、任務(wù)有不同的優(yōu)先級(jí)、對(duì)時(shí)延不敏感?;谶@兩種調(diào)度的本質(zhì)訴求的不同,我們?cè)诨旌喜渴鸬募軜?gòu)上把兩種調(diào)度并行處理,即一臺(tái)物理機(jī)上可以既有 Sigma 調(diào)度又有 Fuxi 調(diào)度,實(shí)現(xiàn)基礎(chǔ)環(huán)境統(tǒng)一。Sigma 調(diào)度是通過(guò) SigmaAgent 啟動(dòng) PouchContainer 容器。Fuxi 也在這臺(tái)物理機(jī)上搶占資源,啟動(dòng)自己的計(jì)算任務(wù)。所有在線任務(wù)都在 PouchContainer 容器上,它負(fù)責(zé)把服務(wù)器資源進(jìn)行分配并運(yùn)行在線任務(wù),離線任務(wù)填入其空白區(qū),保證物理機(jī)資源利用達(dá)到飽和,這樣就完成了兩種任務(wù)的混合部署。

阿里巴巴混合部署架構(gòu)圖

混部的關(guān)鍵技術(shù)

內(nèi)核資源隔離上的關(guān)鍵技術(shù)

  • 在 CPU HT 資源隔離上,做了 Noise Clean 內(nèi)核特性,解決在 / 離線超線程資源爭(zhēng)搶問(wèn)題。

  • 在 CPU 調(diào)度隔離上,CFS 基礎(chǔ)上增加 Task Preempt 特性,提高在線任務(wù)調(diào)度優(yōu)先級(jí)。

  • 在 CPU 緩存隔離上,通過(guò) CAT,實(shí)現(xiàn)在、離線三級(jí)緩存 (LLC) 通道隔離 (Broadwell 及以上)。

  • 在內(nèi)存隔離上,擁有 CGroup 隔離 /OOM 優(yōu)先級(jí);Bandwidth Control 減少離線配額實(shí)現(xiàn)帶寬隔離。

  • 在內(nèi)存彈性上,在內(nèi)存不增加的情況下,提高混部效果,在線閑置時(shí)離線突破 memcg limit;需要內(nèi)存時(shí),離線及時(shí)釋放。

  • 在網(wǎng)絡(luò) QoS 隔離上,管控打標(biāo)為金牌、在線打標(biāo)為銀牌、離線打標(biāo)為銅牌,分級(jí)保障帶寬。

在線集群管理上的關(guān)鍵技術(shù)

  • 對(duì)應(yīng)用的內(nèi)存、CPU、網(wǎng)絡(luò)、磁盤和網(wǎng)絡(luò) I/O 容量進(jìn)行畫像,知道它的特征、資源規(guī)格需求,不同的時(shí)間對(duì)資源真實(shí)使用情況,然后對(duì)整體規(guī)格和時(shí)間進(jìn)行相關(guān)性分析,進(jìn)行整體調(diào)度優(yōu)化。

  • 親和互斥和任務(wù)優(yōu)先級(jí)的分配,哪種應(yīng)用放在一起使整體計(jì)算能力比較少、吞吐能力比較高,這是存在一定親和性。

  • 不同的場(chǎng)景有不同的策略,雙 11 的策略是穩(wěn)定優(yōu)先,穩(wěn)定性優(yōu)先代表采用平鋪策略,把所有的資源用盡,讓資源層全部達(dá)到最低水位。日常場(chǎng)景需要利用率優(yōu)先,“利用率優(yōu)先” 指讓已經(jīng)用掉的資源達(dá)到最高水位,空出大量完整資源做規(guī)模化的計(jì)算。

  • 應(yīng)用做到自動(dòng)收縮、垂直伸縮、分時(shí)復(fù)用。

  • 整個(gè)站點(diǎn)的快速擴(kuò)容縮容,彈性內(nèi)存技術(shù)等。

    混合部署-引入計(jì)算任務(wù)提升日常資源效率

混合部署指將計(jì)算任務(wù)引入在線服務(wù)集群以提升日常資源效率。把離線任務(wù)引入后,CPU 平均利用率從 10% 上升到 40% 以上,同時(shí)時(shí)延敏感類服務(wù)的延遲影響小于 5%,屬于完全可接受范圍。目前我們整個(gè)混部集群已達(dá)到數(shù)千臺(tái)的規(guī)模,經(jīng)過(guò)了交易核心鏈路雙 11 大促的驗(yàn)證。這項(xiàng)優(yōu)化可以為日常節(jié)省超過(guò) 30% 的服務(wù)器。今年會(huì)擴(kuò)大 10 倍的部署規(guī)模,取得規(guī)?;找妗?br>

混合部署-分時(shí)復(fù)用進(jìn)一步提升資源效率

通過(guò)分時(shí)復(fù)用,達(dá)到進(jìn)一步提升資源效率的效果。上圖中的曲線是我們某個(gè)應(yīng)用的流量曲線。它是非常有規(guī)律的 , 左邊代表晚上波谷期,右邊代表白天處于波峰期。正常的混部指占用圖中藍(lán)色陰影部分的資源把利用率提高到 40%,彈性分時(shí)復(fù)用技術(shù)是指對(duì)應(yīng)用畫像找到應(yīng)用流量波谷期,對(duì)應(yīng)用縮容,大量釋放內(nèi)存和 CPU,調(diào)度更多計(jì)算任務(wù)。通過(guò)這項(xiàng)技術(shù),把平均 CPU 利用率提升到 60% 以上。

PouchContainer 容器和容器化的進(jìn)展

全面容器化是提升運(yùn)維能力、統(tǒng)一調(diào)度的關(guān)鍵技術(shù)。首先介紹一下阿里巴巴內(nèi)部容器產(chǎn)品 PouchContainre。它從 2011 年開始建設(shè)和上線,基于 LXC,在 2015 年初開始吸收 Docker 鏡像功能和并兼容容器標(biāo)準(zhǔn)。阿里巴巴的容器非常有特點(diǎn),它結(jié)合了阿里內(nèi)核,大幅度提高了安全隔離性,目前以百萬(wàn)級(jí)規(guī)模部署于阿里集團(tuán)內(nèi)部。

再來(lái)了解一下 PouchContainer 的發(fā)展路線。以前用的是虛擬機(jī)的虛擬化技術(shù),虛擬化技術(shù)過(guò)渡到容器技術(shù)面臨著很多運(yùn)維體系的挑戰(zhàn)。運(yùn)維體系的遷移有很大的技術(shù)成本。我們做到了阿里內(nèi)部運(yùn)維和應(yīng)用視角無(wú)縫遷移,有獨(dú)立 IP,能夠 ssh 登錄,有獨(dú)立的文件系統(tǒng)和資源隔離使用量可見性。2015 年以后,阿里巴巴引入容器標(biāo)準(zhǔn),形成了新的一套容器 PouchContainer 并集成到整個(gè)運(yùn)維體系。

PouchContainer 定位

PouchContainer 的隔離性非常好,是富容器,可以登錄,看到容器內(nèi)進(jìn)程自己占的資源量,有多少進(jìn)程,進(jìn)程掛了容器是不會(huì)掛的,可以運(yùn)行很多的進(jìn)程。兼容性很好, 舊版本內(nèi)核也支持,對(duì)利舊很有幫助。同時(shí)經(jīng)過(guò)了百萬(wàn)級(jí)容器部署的規(guī)?;?yàn)證,我們研發(fā)了一套 P2P 鏡像分發(fā)機(jī)制,大幅度提升分發(fā)效率。同時(shí)兼容了業(yè)界更多標(biāo)準(zhǔn),推動(dòng)標(biāo)準(zhǔn)的建設(shè),支持 RunC 、RunV 、RunLXC 等,經(jīng)過(guò)百萬(wàn)級(jí)容器規(guī)模的考驗(yàn),穩(wěn)定高效,是企業(yè)全面容器化的最佳選擇。

PouchContainer 架構(gòu)圖

PouchContainer 的結(jié)構(gòu)是比較清晰的,Pouchd 如何跟 kubelet、swarm、Sigma 交互。在存儲(chǔ)上跟業(yè)界一起建設(shè)了 CSI 標(biāo)準(zhǔn)。支持分布式存儲(chǔ)如 ceph、pangu。在網(wǎng)絡(luò)上使用 lxcfs 增強(qiáng)隔離性,支持多種標(biāo)準(zhǔn)。

目前 PouchContainer 化覆蓋了阿里的大部分 BU,2017 年達(dá)到百萬(wàn)級(jí)部署,在線業(yè)務(wù)達(dá)到 100% 容器化,計(jì)算任務(wù)也開始容器化,它拉平了異構(gòu)平臺(tái)的運(yùn)維成本。覆蓋運(yùn)行模式,多種編程語(yǔ)言,DevOps 體系。PouchContainer 覆蓋了阿里幾乎所有業(yè)務(wù)板塊如螞蟻、交易、中間件等等。

PouchContainer 于 2017 年 10 月 10 號(hào)宣布開源,11 月 19 日正式開源,計(jì)劃在 2018 年 03 月發(fā)布第一個(gè)大版本。我們希望通過(guò) PouchContainer 的開源推動(dòng)容器領(lǐng)域的發(fā)展和標(biāo)準(zhǔn)的成熟,給業(yè)界提供差異化有競(jìng)爭(zhēng)力的技術(shù)選擇。不僅方便傳統(tǒng) IT 企業(yè)利舊,老的基礎(chǔ)設(shè)施也同樣能夠享受云源生技術(shù)帶來(lái)的好處和優(yōu)勢(shì),而且方便新的 IT 企業(yè)享受規(guī)?;€(wěn)定性和多標(biāo)準(zhǔn)兼容性帶來(lái)的優(yōu)勢(shì)。

本文作者:調(diào)度系統(tǒng)負(fù)責(zé)人叔同(丁宇)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

    類似文章 更多