English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

guest
1 / ?
back to lessons

在流量到達之前識別瓶頸節點

間接性中心性

對於圖形中的每一對節點,都有一條最短路徑將其連接起來。節點N的間接性中心性 = 所有最短路徑中經過N的比例。

具有高間接性中心性的節點在很多其他對的路徑上。 如果它慢 down,很多流量也會慢 down。如果它失效,很多流量將中斷。

建築學閱讀:高間接性中心性節點是每次建築審查都應該特別關注的。它們是瓶頸、SPOFs和在一個中具有容量關鍵元件。它們傾向於:

- DNS提供者(在每個客戶與每個服務之間)

- -ingress代理(在每個客戶與每個後端之間)

- 数据库主(在每個後端與每次讀取之間)

- 身份验证服务(在每个用户与每个授权操作之间)

偵測而無需測量:圖形拓扑學本身識別高間接性中心性節點。你不需要流量數據;你需要建築圖。一個位於很多其他對之間的節點在結構上是關鍵的。

運營結果:高間接性中心性節點應該得到不成比例的投資(1)容量頭間(2)冗餘(3)可觀察性和(4)事件響應手冊。

間接性中心性:突出顯示的節點在最短路徑上最多

一個系統具有:100個外部客戶 -> 1個DNS -> 1個CDN供應商 -> 3個反向代理 -> 12個後端副本 -> {1個DB主庫,2個緩存節點,5個外部API端點}。根據間接性中心性(從高到低排序),將這些節類排名,並解釋為什麼前兩個排名應該獲得特別關注。

最小切割將最小切片斷開

最小切割定理簡單說明

在圖形中的兩個節點之間的最小切割 = 必須移除以斷開他們的最小數目邊(或節點)。

運作閾值: 最小切割界限限制了最壞情況下的爆炸半徑。如果 '客戶' 與 '數據庫' 之間的最小切割界限為 1 邊(單個代理),則失去該邊將使所有客戶與數據庫斷開。如果最小切割界限為 5,您需要同時失去 5 個組件才能完全斷開;糟糕,但有界限。

為爆炸半徑設計: 在每個重要邊界處增加最小切割界限。多個代理;多個緩存節點;DC 之間的多個網絡路徑。每次添加都會提高最小切割界限 1。

圖形術語中的防水設計: 將資源分隔為不同子圖形,彼此之間沒有最小切割界限。一個子圖形內的失敗無法傳播到其他人,因為邊不存在。

直徑集定義失效傳播距離

圖形直徑 = 任意兩個節點之間的最長最短路徑。

失效傳播: 當節點失效並將流量回退時,它們將觸摸上游節點,直到距離直徑為遠。一個直徑為 3 的系統(客戶 -> 代理 -> 后端 -> DB)意味著數據庫失效將影響 3 個上游層次在回退風暴中。

意義: 直徑越短,失效隔離速度越快,但也意味著節點濃度越高。每個設計都有其取捨。

最小切割界限為爆炸半徑界限;直徑為傳播距離

為實際架構計算最小切割界限

一架構:1 DNS,1 CDN,3 反向代理,12 后端副本,1 DB 主。

計算(或估計)三個邊界的最小切割界限:(1)之間的客戶外部與反向代理層;(2)之間的反向代理層與后端層;(3)之間的后端層與 DB 主數據庫。對於每個邊界,請說明當最小切割界限超過時失效的內容。

通過圖形指標進行失效模式審核

合成

您現在可以識別出高之間ness 的節點,對每個邊界進行最小切割界限計算,並通過直徑估計失效傳播距離。

應用所有三個。

A system: 50 customer endpoints -> 1 DNS -> 2 CDN POPs -> 4 反向代理 -> 16 后端副本 -> { 数据库集群 (1 主 + 2 备), Redis 集群 (5 节点), 3 外部 API }.

審核系統:(1)命名最高的節點之間ness;(2)在最擔憂的邊界上計算最小切割界限;(3)提出兩個具體的建築變更(每個提高最小切割界限,分別以強化其邊界的名稱。

陪伴笔记

陪伴笔记

这个几何学的课堂通过图形指标 (之间性, 最小割, 直径) 重新阐述了 Failure Modes & Blast Radius 的主要课堂。

最后一个陪伴, geometry_of_observability_and_capacity, 处理 CDN PoP 捕获的 Voronoi 细胞, 延迟三角形的光速地板, 以及在代理层重新访问队列曲线。

很好。