- Slackは過去1年半にわたり、冗長性を高め、サイト障害の影響を限定するため、単一構成からセルベースの構成(Cellular Architecture)へ移行
- 2021年6月のネットワーク障害によりSlackの顧客にサービス低下が発生した事案を受け、Slackサービスのレジリエンス向上の必要性に後押しされたもの
- セルラー構成では、各サービスが可用性ゾーン(AZ)ごとに1つの仮想サービスとして動作するため、あるAZでの障害が他のAZに影響しない
- 問題のあるAZからトラフィックをドレインする機能も含まれており、それをシステムの他の部分から効果的に隔離
- ドレインのメカニズムは、高速で、エラーがなく、段階的で、ドレイン対象AZのリソースに依存しないよう設計
- セルラー構成への移行にはサイロ化(Siloing)という戦略も含まれ、サービスが自分のAZ内でのみトラフィックを受信・送信するようにした。これは単一AZ内のあらゆる障害を封じ込めるのに役立つ
- トラフィック移動メカニズムの実装は、ユーザーのクエリを中核サービスへルーティングするシステムに重点を置いた
- 新しい構成は、Envoyの機能であるweighted clustersと、RTDSによる動的な重み付け割り当てを活用してAZドレインをサポート
- この移行はSlackの運用方法とサービス構築方法を変え、トラフィック管理と障害緩和のための強力な新しいツールを提供
- 今後のブログ記事で技術実装の詳細をさらに深く扱い、新しい構成がSlackの運用にどのような影響を与えたかを議論する予定
1件のコメント
Hacker Newsの意見