「騒がしい隣人」を解決する:シャーディングアーキテクチャがマ... ノート

「騒がしい隣人」を解決する:シャーディングアーキテクチャがマルチテナントプラットフォームを保護する方法

SaaSプロバイダーやエンタープライズで利用されるような共有インフラストラクチャ環境は、「うるさい隣人」問題に対して脆弱です。単一テナントの激しいデータアクティビティやデータベースの障害は、すべてのユーザーのパフォーマンスを低下させ、バックログやSLA違反につながる可能性があります。すべてのデータが単一ストリームを流れるレガシーなモノリシックアーキテクチャは、この問題を悪化させます。これは、1つのデータベース障害がすべての処理を停止させる可能性があり、最悪のシナリオに対応するために非効率的なスケーリングが必要になることを意味します。1つのテナントの高負荷がシステム全体に影響を与える場合、安定したSLAの維持はほぼ不可能になります。その解決策は、シャーディングされたハブアンドスポークアーキテクチャであり、処理をルーティングのためのセントラルハブと実行のための分離されたスポークに分離します。ハブは軽量なDataflowジョブであり、トラフィックコントローラーとして機能し、テナントIDを解析してデータを分離されたバッファーに振り分けます。これらのバッファーは、耐久性のあるPub/Subトピックとして実装されており、遅いダウンストリームシンクが元のソースに影響を与えるのを防ぎます。スポークは、高優先度、共有ティア、またはドメイン固有のパイプラインなどのワークロード別に分類された、複数の小さなDataflowインスタンスで構成されます。この分離により、障害の被害範囲が100%から5%未満に大幅に削減されます。また、モノリシックシステムの非効率的な最悪ケーススケーリングとは異なり、テナント負荷に基づいた独立したスケーリングが可能になります。メンテナンスもより安全になり、あるドメインへの更新が他のドメインに必ずしも影響を与えるわけではありません。デッドレターキュー、厳密なコネクションプーリング、非同期I/Oなどの追加の最適化により、安定性がさらに向上し、パイプラインの停止を防ぎます。このシャーディングアプローチを採用することで、プラットフォームは「うるさい隣人」の脅威を排除し、厳格なSLAを確保し、より安全なデプロイメントを可能にします。
CdXz5zHNQW_wDjs5eoArR.png