天天看點

微服務體系三維可縮放模型X軸縮放Y軸縮放Z軸縮放

在此模型中,通過在負載均衡器後面運作複制的執行個體來擴充應用程式,稱為X軸縮放。微服務架構是Y軸縮放的應用,資料分區模式是Z軸縮放的應用。
微服務體系三維可縮放模型X軸縮放Y軸縮放Z軸縮放

X軸縮放

X軸縮放包括在負載均衡器後面運作的應用程式的多個副本。如果有N個副本,則每個副本處理1 / N的負載。

這是一種簡單,常用的擴充應用程式的方法。

這種方法的一個缺點是,由于每個副本可能通路所有資料,是以高速緩存需要更多的記憶體。這種方法的另一個問題是,它沒有解決大型應用程式開發複雜性的問題。

Y軸縮放

Y軸縮放将應用程式拆分為多個不同的服務。每項服務都負責一項或多項密切相關的職能。

有幾種不同的方法可以将應用程式分解為服務。一種方法是使用基于動詞的分解并定義實作單個用例的服務。另一種選擇是通過名詞來分解應用程式,并建立負責與特定實體相關的所有操作的服務。應用程式也可能混合使用基于動詞和基于名詞的分解方式。

Z軸縮放

使用Z軸縮放時,每個伺服器都運作相同的代碼副本。在這方面,它類似于X軸縮放。最大的差別是每個伺服器隻負責資料的一個子集。系統的某些元件負責将每個請求路由到适當的伺服器。

一種常用的路由标準是根據請求的屬性,例如被通路實體的主鍵。另一種常見的路由标準是客戶類型。例如,通過将其請求路由到具有更多容量的不同伺服器集,應用程式可以為付費客戶提供比免費客戶更高的服務等級。

Z軸分割通常用于縮放資料庫

基于每個實體的資料行,通過一組資料庫對資料進行分區(也稱為分片)。

Z軸縮放具有許多優點

  • 每個資料庫伺服器僅處理資料的子集;
  • 這可以提高緩存使用率并減少記憶體使用和I / O流量;
  • 它還提高了事務可伸縮性,因為請求通常分布在多個資料庫伺服器上;
  • Z軸縮放可改善故障隔離,因為故障隻會使部分資料不可通路。

Z軸縮放有一些缺點

  • 應用程式複雜性增加;
  • 需要實作一個分區方案,這可能很棘手,特别是如果我們需要重新分區資料;
  • 不能解決大型應用程式開發複雜性的問題。要解決這些問題,我們需要

你現在的氣質裡,藏着你走過的路,讀過的書,愛過的人。