第32章: ネットワーク
ネットワークは、プラネタリスケールコンピュータの神経系です。ラック内のサーバー同士、データセンター内のラック同士、リージョン内のデータセンター同士、そして地球全体のリージョン同士を接続します。ネットワークの特性——帯域幅、レイテンシー、信頼性、コスト——は、分散システムの設計を根本的に形作ります。
データセンター内のネットワークは、通常、マルチティア階層またはスパイン・リーフトポロジーとして構成されます。トップオブラック(ToR)スイッチがラック内のサーバーを接続します。アグリゲーションスイッチがクラスタ内のラックを接続します。コアスイッチがデータセンター内のクラスタを接続します。各ティアで帯域幅が集約され、障害ドメインが拡大します。
データセンター間のネットワーク接続は、専用光ファイバーリンク(同一メトロポリタンエリア内のデータセンター間)からリース回線や公衆インターネット(大陸間接続)まで多岐にわたります。同一リージョン内のデータセンター間のレイテンシーは通常1〜5ミリ秒です。大陸間では50〜200ミリ秒です。これらのレイテンシー制約はシステム設計に直接影響します:大陸間の強い一貫性はコストが高くなります。すべての書き込みがラウンドトリップを待つ必要があるからです。
ネットワーク障害は、分散システムにおけるアウテージの主要な原因です。サーバー障害(通常は独立して発生する)とは異なり、ネットワーク障害は大規模なサーバー群を同時にパーティション化し、スプリットブレインシナリオを引き起こす可能性があります。このようなシナリオに対処するために、コンセンサスプロトコルが設計されています。
私たちの3リージョンデプロイメントは、WireGuardメッシュを使用してSFO、NYC、AMSを接続するプライベートオーバーレイネットワークを構築しています。第24章: Geoレプリケーションでは、このメッシュがフェデレーテッドディスカバリとクロスリージョンストレージレプリケーションをどのように実現するかを説明しています。