閒聊雲服務技術系列#4--Mesos

ForestXie發表於2017-11-10

雲端計算相關話題已經寫了3篇,準備再寫一篇,給這個系列做一個階段性的結尾,最後選擇了Mesos這個社群裡又一個明星產品作為結尾。

回顧Mesos的歷史,其實Mesos並不是為Docker而生的,Mesos 始於加州大學伯克利分校

UC Berkeley
的下一代容器叢集管理器專案,並應用了從雲端計算級別的分散式基礎架構中習得的經驗和教訓。 它產生的初衷是為spark做叢集管理。而且,Mesos有自己的容器隔離,後來,隨著Docker的崛起,Mesos就開始支援Docker容器了。有了Docker助力,大家就開始去嘗試Mesos了。

閒聊雲服務技術系列#4--Mesos


Mesos 獨有的獨立管理各種工作負載的能力,包括 Java 這樣的傳統應用程式、無狀態 Docker 微服務、批處理作業、實時分析和有狀態的分散式資料服務。Mesos 廣泛的工作負載覆蓋來自於其兩級架構,從而實現了“應用感知”排程。通過將應用程式特定的操作邏輯封裝在“Mesos 框架”中來實現應用程式感知排程。

資源管理策略Dominant Resource Fairness(DRF), 這是Mesos的核心,也是我們把Mesos比作分散式系統Kernel的根本原因。通俗講,Mesos能夠保證叢集內的所有使用者有平等的機會使用叢集內的資源,這裡的資源包括CPU,記憶體,磁碟等等。

Mesos Master資源管理器,提供這些底層基礎設施的框架部分,同時保持隔離。這種方法允許每個工作負載有自己專用的應用程式排程器,它瞭解其對部署、縮放和升級的具體操作需求。應用程式排程程式也獨立地被開發、管理和更新,這讓Mesos保持高度可擴充套件性,支援新的工作負載,或者隨著時間的推移增加更多的操作能力。

閒聊雲服務技術系列#4--Mesos


很多朋友拿Kubernetes和Mesos進行對比,Mesos更側重底層資源的管理,Kubernetes側重業務層的排程,容器服務編排,服務發現等。其實Kubernetes也可以執行在Mesos上,也可以選擇兩者結合。Mesos相當於一堆積木,通過組裝實現自己的業務模型,而Kubernetes已經是組裝好的積木,直接拿來用就好了。

如果我們想構建一個可靠的平臺,用以執行多工關鍵工作負載,包括Docker容器和分散式資料服務(例如Spark、Kafka、Cassandra),並希望所有這些都可以在雲或資料中心上可移植,那麼,Mesos就是最適合的。閒聊雲服務技術系列#4--Mesos




相關文章