分布式調度架構


單體調度

定義

    一個集群中只有一個節點運行調度進程,該調度進程負責集群資源管理和任務調度,也就是說單體調度器擁有全局資源視圖和全局任務

特征

1. 容易實現對作業的約束並實施全局性的調度策略,因此適合批處理任務和吞吐量較大、運行時間較長的任務

2. 容易進行狀態同步,並且很穩定

3. 調度算法全部內置在核心調度器中,因此調度框架的靈活性和策略的擴展性不高,但是調度算法可以擴展甚至自定義

4. 存在單點故障的可能性 

應用

Google Borg/Kubernetes

兩層調度

定義

    資源的使用狀態同時由中央調度器和第二層調度器管理,中央調度器從整體上進行資源的管理和分配,將資源分配到第二層調度器;再由第二層調度器負責將資源和具體的任務進行配對,因此第二層調度可以由多個調度器以支持不同的任務類型

Mesos調度架構

架構圖

Resource Offer機制:Mesos Master主動將節點空閑資源,以類似發放的形式發送給每個框架,如果框架需要則使用,不需要則歸還

資源分配算法

最大最小公平算法

主導資源公平算法

 共享狀態調度

 架構圖

State Storage模塊負責存儲和維護資源以及任務狀態

Resource Pool為多個節點集群,接收並執行Scheduler調度的任務

Scheduler值包含任務調度操作

舉例:Google Omega

並發控制

樂觀並發控制:在樂觀並發控制中,用戶讀取數據時不鎖定數據。當一個用戶更新數據時,系統將進行檢查,查看該用戶讀取數據后其他用戶是否又更改了該數據。如果其他用戶更新了數據,將產生一個錯誤。一般情況下,收到錯誤信息的用戶將回滾事務並重新開始。對應於樂觀並發調度,強調時候檢測,在事務提交時檢查是否避免了沖突,若避免則提交,否則回滾並自動重新執行

悲觀並發控制:一個鎖定系統,可以阻止用戶以影響其他用戶的方式修改數據。如果用戶執行的操作導致應用了某個鎖,只有這個鎖的所有者釋放該鎖,其他用戶才能執行與該鎖沖突的操作。對應於悲觀並發控制,強調事前預防,在事務執行時檢查是否會存在沖突,不存在,則繼續執行,否則等待或回滾

總結對比


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM