分散式系統核心
Mesos使用了與Linux核心相似的規則來構造,僅僅是不同抽象層級的差別。Mesos從設備(物理機或虛擬機)抽取 CPU,記憶體,存儲和其他計算資源,讓容錯和彈性分散式系統更容易使用。Mesos核心運行在每個機器上,在整個數據中心和雲環境內向應用程式(Hadoop、Spark、Kafka、Elastic Serarch等等)提供資源管理和資源負載的API接口。
系統特性
架構
從左側架構圖上可知,Mesos包含兩個組件:Master Daemon和Slave Daemon,Master Daemon管理所有的Slave Daemon,Slave Daemon運行在各個節點上。
通過資源供給(Resource Offers)Master Daemon實現了跨套用的細粒度資源(CPU、記憶體、...)共享。每個資源供給(Resource Offers)包含一組資源列表。對照既定組織策略(例如共享屬性、優先權),Master Dameon決定提供多少資源給每個套用框架。為了支持不同的策略控制,Master Daemon使用可拔插的模組化的架構方便增加新的策略控制機制。
運行在Mesos上的套用一般由兩部分組件組成:調度器(Scheduler)和執行進程(Executor Process)。調度器註冊在Master Daemon上用於決策資源供給,執行進運行在Slave節點上用於運行各個套用任務。當Master Daemon決定供給套用多少資源時,由調度器決定把那裡的資源提供該套用使用。當套用決定接受被提供的資源時,它會告訴Mesos需要運行的任務都是什麼,Mesos在對應的Slave節點上載入這些任務。