各PoPは、平面の一部のセルを所有します
Voronoi テッセレーション
平面上にN個のポイント(PoP: ポリシーを持つプレゼンス)を配置します。各ポイントが最も近いPoPに割り当てられる境界領域を描く。結果はNセルに平面を分割され、それぞれがPoPに属し、そのPoPに他のどのPoPよりも近いすべてのポイントを含みます。
CDN幾何学:各ユーザーのリクエストは、最も近いPoPにルーティングされます。各PoPは、地理的な平面の一部のセルをサービスします。セル境界は、隣接するPoPの間の線の垂直中点です。
幾何学的読み:
- PoPを追加すると、隣接するセルのサイズが小さくなる(新しいセルを作成)
- PoPを削除すると、そのセルの負荷は近隣のPoPに移行(近隣の容量スルー)
- セル境界の近くのユーザーは、負荷分散が変化するとPoPを切り替える可能性があります
- 1つのPoPの失敗は、停電中のすべての近隣セルの効果的なセルを拡大します
運用上の影響:PoPが失敗すると、その負荷は消滅しない;それは近隣のPoPに移行します。もし近隣が通常のセルでのみサイズされている場合、スルーは次に隣接するPoPを破壊します(連鎖的なPoP失敗)。成熟したCDNプロバイダーは、近隣の失敗のためのスルーを考慮して、各PoPをサイズします。
triangle inequality cheatable
物理学がフロアを設定します
真空中の光は約300,000 km/sです。ファイバーでは約200,000 km/sに減速されます(屈折指数の影響により)。これは次のようになります:
- ファイバーで1,000 km = ~5 msの1方向 = ~10 msの往復
- アメリカ全土(約5,000 km)= 最小約50msの往復レイテンシ(RTT)
- アメリカからヨーロッパへ(約8,000 km)= 最小約80msの往復レイテンシ(RTT)
- 対極(世界一周の半分)= 最小約200msの往復レイテンシ(RTT)
これは最低限の値です。 実際のレイテンシは常に大きくなります(ルーターホップ、スイッチング、キューイング、混雑)。どのアプリも物理法則を超えることはできません。
三角不等式
三つのノードA、B、Cの場合、三角不等式は d(A,C) <= d(A,B) + d(B,C) を満たします:直接のパスは、間接的なパスよりも短いまたはそれと等しいです。
ネットワーク読み方: サービスがA -> B -> Cという順序でルーティングするのではなく、A -> Cに直接ルーティングする場合、レイテンシは少なくとも2つのレグのレイテンシの和になります。通常はそれ以上になりますが、Bでの処理によるものです。
アーキテクチャ読み方: プロキシ、ロードバランサー、CDNホップなどの各間接性(indirection)は、ユーザーのレイテンシの見かけの遅延に少なくとも1つのラウンドトリップレグを追加します。CDNの利点は、ユーザーのレグ(user's leg)が短くなり(PoPがオリジンより近い)、全体のホップカウントが上がるにもかかわらず、達成されます。
マルチリージョンな罠: サービスがリージョンAから読み取るがリージョンBに書き込む場合、毎回BへのAからのレイテンシが発生します。A & Bが100ms離れている場合、毎回の書き込みで最低100msレイテンシが発生します。拡張されたデータベースは、毎回この最低限の値を支払う必要があります。
最低限の値を支払う
サービスは2つのリージョンで実行されます:US-East(us-east-1)& EU-West(eu-west-1)。2つのリージョンは約5,500 km離れています。サービスはUS-Eastのプライマリデータベースにあります。EUユーザーのリクエストはEU-Westバックエンドで処理されますが、書き込みの場合は、US-Eastプライマリに戻る必要があります。
PoP配置の地理的な設計
合成
您现在可以将Voronoi细胞视为PoP流量池,计算光速延迟底线,并在代理层应用队列曲线。
应用所有三个。
一支团队为服务规划CDN覆盖范围,该服务的用户分布在三个大洲:北美洲(60%的用户),欧洲(30%),亚洲(10%)。他们有预算为6个PoP。每个PoP可以在70%利用率下稳定地服务一个细胞,而不超过队列曲线的髋部。
关闭伴侣课程
关闭伴侣课程
您已完成了所有五个*几何学伴侣课:
- 代理与源:有向图、跳数、入度/出度、间接性
- 无状态水平扩展:Little's Law作为面积、队列曲线及其髋部
- 入口与出口分离:二分图结构、切点消除、分区容错
- 故障模式与爆炸半径:中心性之间性、最小切割、直径
- 可观察性与容量(本课):Voronoi PoP细胞、延迟三角底线、地理容量设计
主线:分布式系统具有几何结构。每个架构都是一个图。每个延迟底线都是一个三角不等式。每个容量决策都是一个曲线和一个髋部。一旦您看到几何结构,操作决策就会从中产生。
与五个主要课(cs_distsys_*)相结合,您将拥有一个分布式系统的工作思维模型以及图论学科的自觉性来推理它。
好工作。