REL10-BP04 使用隔板架構限制影響範圍
如同船舶上的隔板一樣,此模式可確保失敗限制在一小部分的請求或用戶端中,如此一來才能限制受損的請求數量,讓大部分的請求可以繼續運行,而不會發生錯誤。資料的隔板通常稱為分割區,而服務的隔板稱為儲存格。
在 以儲存格為基礎的架構中,每個儲存格都是完整的獨立服務執行個體,且具有固定的大小上限。隨著負載增加,工作負載會增加更多儲存格。分割區索引鍵用於傳入流量,以判斷使用哪個儲存格處理請求。任何失敗都會限制在它發生的單一儲存格之中,因此受損的請求數量會受到限制,而其他儲存格會繼續運行,且不會發生錯誤。務必要識別適當的分割區索引鍵,以最大程度地減少跨儲存格互動,並避免在每個請求中都加入複雜的對應服務。需要複雜對應的服務最終僅僅是將問題移轉到了對應服務,而需要跨儲存格互動的服務則會在儲存格之間建立相依性 (因此減低了假定的可用性改善)。

圖 11:儲存格型架構
Colm MacCarthaigh 在他的 AWS 部落格文章中說明 Amazon Route 53 如何使用 隨機切換分區的概念,

圖 12:服務分為四個傳統分區,每個分區包含兩個儲存格
透過隨機切換分區,您可以建立每個都含有兩個儲存格的虛擬分區,並將您的客戶指派至其中一個虛擬分區。發生問題時,您仍可能會失去整個服務的四分之一,但透過此方式來指派客戶或資源,隨機切換分區的影響範圍遠小於 25%。若有八個儲存格,則會有 28 個含有兩個儲存格的獨特組合,這表示可能會有 28 個隨機切換分區 (虛擬分區)。如果您有數百或數千位客戶,並將每位客戶指派至一個隨機切換分區,則問題造成的影響範圍只有 1/28。這比一般分區好七倍。

圖 13:將服務分為每個分區擁有兩個儲存格的 28 個隨機切換分區 (虛擬共用) (僅顯示 28 個可能的隨機切換分區中的兩個)
除儲存格之外,分區還可用於伺服器、佇列或其他資源。
若未建立此最佳實務,暴露的風險等級: 中
實作指引
使用隔板架構。如同船舶上的隔板一樣,此模式可確保失敗限制在一小部分的請求/使用者中,如此一來才能限制受損的請求數量,讓大部分的請求可以繼續運行,而不會發生錯誤。資料的隔板通常稱為分割區,而服務的隔板稱為儲存格。
評估小組型架構是否適用於您的工作負載。在以儲存格為基礎的架構中,每個儲存格都是完整的獨立服務執行個體,且具有固定的大小上限。隨著負載增加,工作負載會增加更多儲存格。分割區索引鍵用於傳入流量,以判斷使用哪個儲存格處理請求。任何失敗都會限制在它發生的單一儲存格之中,因此受損的請求數量會受到限制,而其他儲存格會繼續運行,且不會發生錯誤。務必要識別適當的分割區索引鍵,以最大程度地減少跨儲存格互動,並避免在每個請求中都加入複雜的對應服務。需要複雜對應的服務最終僅僅是將問題移轉到了對應服務,而需要跨儲存格互動的服務則會降低儲存格的自主性 (因此提高了假定的可用性)。
-
Colm MacCarthaigh 在他的 AWS 部落格文章中說明 Amazon Route 53 如何使用隨機切換分區的概念,將客戶請求隔離為分區
-
資源
相關文件:
相關影片:
相關範例: