Amazon SQS のマルチテナントワークロードにフェアキューを導入
Amazon Simple Queue Service (Amazon SQS) では、新しい機能であるフェアキューの提供を開始しました。この機能は、マルチテナントの標準キューにおけるノイジーネイバーの影響を軽減するものです。1 つのテナント (お客様、クライアントアプリケーション、またはリクエストタイプなど) が送信するメッセージが多すぎる場合や、長い処理時間を必要とするメッセージがある場合、フェアキューを使用すると、他のテナントのメッセージを大幅に遅延することなく処理できます。この仕組みにより、標準キューのスケーラビリティとスループットを維持しながら、すべてのテナントのサービス品質を保持できます。
フェアキューを有効にするには、Amazon SQS 標準キューにメッセージを送信するときにメッセージグループ ID を含めてください。メッセージコンシューマーに変更は必要ないため、実稼働システムを中断したり移行したりすることなくフェアキューを導入できます。フェアキューは、共有キューによって複数のお客様にサービスを提供する SaaS アプリケーション、複数のリソースからのイベントを処理するマイクロサービス、およびさまざまなリクエストタイプのメッセージを処理するアプリケーションにおいて特に役立ちます。フェアキューを使用すると、単一のテナントによってキューにバックログが発生した場合にメッセージを並べ替えることで、テナント間で一定の待機時間 (キュー内でメッセージが送信されてから受信されるまでの時間) を維持することができます。その後、キューによって他のテナントからのメッセージが優先的に配信されます。バックログを引き起こしているテナントからのメッセージは引き続きコンシューマーに配信されますが、利用可能なコンシューマーの容量に応じて待機時間が長くなります。
フェアキューは、すべての AWS 商用リージョンと AWS GovCloud (米国) リージョンで利用できます。Amazon SQS フェアキューの詳細については、ブログ記事と Amazon SQS デベロッパーガイドを参照してください。