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