一致核心
維護一個較小的叢集,提供更強的一致性,讓大型資料叢集在不實作基於法定人數的演算法下,也能協調伺服器活動。
問題
當一個叢集需要處理大量資料時,它會使用越來越多的伺服器。對於一個伺服器叢集來說,有一些常見的需求,例如選擇一個伺服器作為特定任務的主控端,管理群組成員資訊,將資料分割區對應到伺服器等等。此功能需要線性化的一致性保證。實作也需要具有容錯能力。一個常見的方法是使用基於多數法定人數的容錯共識演算法。然而,在基於法定人數的系統中,隨著叢集規模的擴大,吞吐量會下降。
解決方案
實作一個由 3 到 5 個節點組成的較小叢集,提供線性化保證和容錯能力。一個獨立的資料叢集可以使用較小的、一致的叢集來管理元資料,並使用租約等原語做出全叢集的決策。這樣一來,資料叢集可以擴充到大量的伺服器,但仍然能夠使用較小的元資料叢集來執行某些需要強一致性保證的動作。
有關更多詳細資訊,請參閱 oreilly.com 上的線上電子書第 25 章
此模式是分散式系統模式的一部分
2023 年 11 月 23 日