閑聊云服務(wù)技術(shù)系列#1--OpenStack
閑聊云服務(wù)技術(shù)系列#3--Kubernetes
云計算相關(guān)話題已經(jīng)寫了3篇,準(zhǔn)備再寫一篇确镊,給這個系列做一個階段性的結(jié)尾士骤,最后選擇了Mesos這個社區(qū)里又一個明星產(chǎn)品作為結(jié)尾。
回顧Mesos的歷史蕾域,其實Mesos并不是為Docker而生的拷肌,Mesos 始于加州大學(xué)伯克利分校UC Berkeley的下一代容器集群管理器項目到旦,并應(yīng)用了從云計算級別的分布式基礎(chǔ)架構(gòu)中習(xí)得的經(jīng)驗和教訓(xùn)。它產(chǎn)生的初衷是為spark做集群管理巨缘。而且添忘,Mesos有自己的容器隔離,后來若锁,隨著Docker的崛起搁骑,Mesos就開始支持Docker容器了。有了Docker助力又固,大家就開始去嘗試Mesos了仲器。
Mesos 獨有的獨立管理各種工作負(fù)載的能力,包括 Java 這樣的傳統(tǒng)應(yīng)用程序仰冠、無狀態(tài) Docker 微服務(wù)乏冀、批處理作業(yè)、實時分析和有狀態(tài)的分布式數(shù)據(jù)服務(wù)洋只。Mesos 廣泛的工作負(fù)載覆蓋來自于其兩級架構(gòu)辆沦,從而實現(xiàn)了“應(yīng)用感知”調(diào)度。通過將應(yīng)用程序特定的操作邏輯封裝在“Mesos 框架”中來實現(xiàn)應(yīng)用程序感知調(diào)度识虚。
資源管理策略Dominant Resource Fairness(DRF), 這是Mesos的核心众辨,也是我們把Mesos比作分布式系統(tǒng)Kernel的根本原因。通俗講舷礼,Mesos能夠保證集群內(nèi)的所有用戶有平等的機(jī)會使用集群內(nèi)的資源鹃彻,這里的資源包括CPU,內(nèi)存妻献,磁盤等等蛛株。
Mesos Master資源管理器,提供這些底層基礎(chǔ)設(shè)施的框架部分育拨,同時保持隔離谨履。這種方法允許每個工作負(fù)載有自己專用的應(yīng)用程序調(diào)度器,它了解其對部署熬丧、縮放和升級的具體操作需求笋粟。應(yīng)用程序調(diào)度程序也獨立地被開發(fā)、管理和更新析蝴,這讓Mesos保持高度可擴(kuò)展性害捕,支持新的工作負(fù)載,或者隨著時間的推移增加更多的操作能力闷畸。
很多朋友拿Kubernetes和Mesos進(jìn)行對比尝盼,Mesos更側(cè)重底層資源的管理,Kubernetes側(cè)重業(yè)務(wù)層的調(diào)度佑菩,容器服務(wù)編排盾沫,服務(wù)發(fā)現(xiàn)等裁赠。其實Kubernetes也可以運行在Mesos上,也可以選擇兩者結(jié)合赴精。Mesos相當(dāng)于一堆積木佩捞,通過組裝實現(xiàn)自己的業(yè)務(wù)模型,而Kubernetes已經(jīng)是組裝好的積木蕾哟,直接拿來用就好了一忱。
如果我們想構(gòu)建一個可靠的平臺,用以運行多任務(wù)關(guān)鍵工作負(fù)載渐苏,包括Docker容器和分布式數(shù)據(jù)服務(wù)(例如Spark掀潮、Kafka菇夸、Cassandra)琼富,并希望所有這些都可以在云或數(shù)據(jù)中心上可移植,那么庄新,Mesos就是最適合的鞠眉。