全分佈式架構 將分化作的更完全,調度器間沒有任何協調,而且使用許多獨立的調度器來處理進入的負載,就像圖 1d裏面展現的。每一個調度器只與他們的本地數據,一般是集羣的過時數據工做。任務能夠提交給任何調度器,每一個調度器又會將任務放置在集羣的任何位置。不像兩層調度器,調度器不對隔離負責。相反,全局調度器和資源分區是在統計了多樣與隨機性的負載形成的結果後作的決策 - 相似於共享狀態調度器,只是沒有中央控制。微信
最近的分佈式調度器運動應該是起始於Sparrow(http://dl.acm.org/citation.cf...,雖然底層的概念(多樣隨機性選擇)第一次出現實在1996年。Sparrow的關鍵前提是假設咱們在集羣中運行的任務會變得更短,基於一個爭論(http://dl.acm.org/citation.cf...,即細粒度的任務有更更多的好處。做者假設任務會變得愈來愈多,意味着調度器應該支持一種更高層的吞吐量。因爲一個單一的調度器可能沒法保持這樣的吞吐(假設每秒有100W的任務!),Sparrow將負載轉移到許多的調度器上。架構
這頗有意義:中央控制的缺少能夠變成一個很好的特性 ,它對一些負載適配的很好 - 在將來更多。 因爲分佈式調度器不須要互相協調,他們能夠作到比高級單體,2層,或者共享狀態調度器的邏輯更簡單。例如:分佈式
本文來自微信公衆號「麥芽麪包,id「darkjune_think」
轉載請註明。微信掃一掃關注公衆號。
交流Email: zhukunrong@yeah.net
spa