數(shù)據(jù)中心分布式調(diào)度超人:DCOS—帶你走進(jìn)拔地而起的數(shù)據(jù)之城
DCOS 是為整個(gè)數(shù)據(jù)中心提供分布式調(diào)度與協(xié)調(diào)功能,實(shí)現(xiàn)數(shù)據(jù)中心級(jí)彈性伸縮能力的軟件堆棧,它將所有數(shù)據(jù)中心的資源當(dāng)做一臺(tái)計(jì)算機(jī)來(lái)調(diào)度。
根據(jù)對(duì)適合構(gòu)建DCOS的各種技術(shù)架構(gòu)的評(píng)估,選擇以Mesos為基礎(chǔ)的方案。優(yōu)點(diǎn)是成熟度高、兩級(jí)調(diào)度框架、適合多種應(yīng)用場(chǎng)景、混合部署、應(yīng)用與平臺(tái)耦合度低。
Mesos較為成熟,2013年建立商業(yè)實(shí)體Mesosphere,Twitter、Appale等公司的大型應(yīng)用通過(guò)Mesos進(jìn)行管理和調(diào)度,其集群管理規(guī)模超過(guò)10萬(wàn)級(jí)別。
優(yōu)勢(shì):
- 擴(kuò)展能力強(qiáng),Apple最高使用了75000個(gè)節(jié)點(diǎn)
- 同時(shí)采用兩級(jí)調(diào)度,把任務(wù)的分配交給框架,由框架決定是否使用資源。
- 相對(duì)成熟,已經(jīng)有比較多的生產(chǎn)環(huán)境案例和最佳實(shí)踐
- 可以使用和docker容器不同的格式
- 極度靈活,支持多種框架,如Marathon、Hadoop和k8s等
劣勢(shì):平臺(tái)組件涉及不同的語(yǔ)言:Meos(C++),Marathon(Scala)
K8s近兩年興起,2014年由Google開(kāi)源,最大集群規(guī)模為千級(jí)別,大規(guī)模集群解決方案較少。
優(yōu)勢(shì):
- API設(shè)計(jì)比較精良
- Pod,Service,NameSpsave對(duì)為服務(wù)作了更好的抽象
- 一種語(yǔ)言,Golang
劣勢(shì):
- 比較年輕,成熟的生產(chǎn)環(huán)境比較少,存在比較多的BUG
- 還沒(méi)有有名的大公司大規(guī)模生產(chǎn)實(shí)踐
- 當(dāng)前只支持docker容器,不支持hadoop、spark等多種框架
Docker平臺(tái)以及周邊生態(tài)系統(tǒng)包含很多工具來(lái)管理容器的生命周期。例如,Docker Command Line Interface(CLI)滿足在單個(gè)主機(jī)上管理容器的需求,但是面對(duì)部署在多個(gè)主機(jī)上的容器時(shí)就無(wú)所適從了。為了超越單個(gè)容器管理,我們必須轉(zhuǎn)向編排工具。容器編排工具將生命周期管理能力擴(kuò)展到部署在大量機(jī)器集群上部署的復(fù)雜的、多容器工作負(fù)載。
Mesos是一種底層級(jí)、久經(jīng)沙場(chǎng)的調(diào)度器,對(duì)于容器的編排,支持多種frameworks,已兼容任務(wù)調(diào)度平臺(tái)、計(jì)費(fèi)中心等多種編排框架,更適合租戶自定義的需求場(chǎng)景。
Kubernetes引擎是自帶服務(wù)發(fā)現(xiàn)和復(fù)制的編排工具。在滿足當(dāng)前docker應(yīng)用編排的同時(shí),對(duì)有狀態(tài)的服務(wù)支持優(yōu)于mesos,可提供一個(gè)可容錯(cuò)和可擴(kuò)展的系統(tǒng)。
DCOS管理平臺(tái)為租戶提供不同引擎之間的相互切換,滿足租戶的各種應(yīng)用場(chǎng)景。
豐富的實(shí)踐積累
調(diào)研及需求分析
• 了解系統(tǒng)現(xiàn)狀
• 明確業(yè)務(wù)影響范圍
• 理解運(yùn)營(yíng)現(xiàn)狀
• 風(fēng)險(xiǎn)評(píng)估
• 需求分析
平臺(tái)集成規(guī)劃與設(shè)計(jì)
• 平臺(tái)架構(gòu)設(shè)計(jì)
• 平臺(tái)資源規(guī)劃
• 業(yè)務(wù)系統(tǒng)部署規(guī)劃
• 系統(tǒng)割接規(guī)劃
• 系統(tǒng)演進(jìn)規(guī)劃
平臺(tái)集成實(shí)施與測(cè)試
• 平臺(tái)部署
• 平臺(tái)能力測(cè)試
• 配合應(yīng)用改造
• 聯(lián)調(diào)測(cè)試
• 割接、上線
平臺(tái)優(yōu)化及維護(hù)
• 平臺(tái)監(jiān)控
• 平臺(tái)性能分析評(píng)估
• 平臺(tái)優(yōu)化調(diào)整
• 平臺(tái)維護(hù)
DCOS數(shù)據(jù)中心通過(guò)分布式調(diào)度實(shí)現(xiàn)數(shù)據(jù)中心級(jí)的彈性能力,某通信集團(tuán)采購(gòu)配置了高達(dá)300多個(gè)節(jié)點(diǎn)的數(shù)據(jù)中心:
• 5節(jié)點(diǎn) Mesos Master Cluster
• 8節(jié)點(diǎn) HAProxy Cluster
• 300+節(jié)點(diǎn)承載 2000+ Docker Container
所有平臺(tái)組件均已容器化,跨機(jī)房部署,輕松實(shí)現(xiàn) 1 分鐘擴(kuò)展到 2000+ 容器!如此高標(biāo)準(zhǔn)規(guī)模化的基礎(chǔ)能力不僅幫助客戶出色完成小規(guī)模活動(dòng),還為其提供了更大的發(fā)揮空間,去嘗試更大規(guī)模的活動(dòng)和任務(wù)。
具備典型的三層架構(gòu)特征,WEB 層及 APP 層基本采用分布式技術(shù)實(shí)現(xiàn),具備進(jìn)行 DCOS 平臺(tái)應(yīng)用的前提條件,DB 層采用數(shù)據(jù)庫(kù)云平臺(tái) PBData。
該系統(tǒng)經(jīng)歷了某運(yùn)營(yíng)商雙十一充值活動(dòng)的全面檢驗(yàn),以出色的成績(jī)完成任務(wù),以數(shù)十倍于傳統(tǒng)架構(gòu)的能力承載了更加巨大的訪問(wèn)和交易數(shù)據(jù)處理壓力。
除了移動(dòng)業(yè)務(wù),我們的產(chǎn)品同時(shí)在保險(xiǎn),通信運(yùn)營(yíng)商,銀行信用卡中心等行業(yè)處理不同的業(yè)務(wù)時(shí),表現(xiàn)了出色的性能能力:
為客戶減少運(yùn)維運(yùn)營(yíng)成本,減少資源消耗,幫助客戶完成由于系統(tǒng)局限導(dǎo)致擴(kuò)張停滯不前的業(yè)務(wù)重獲新生,創(chuàng)造更多的價(jià)值和收益。