タグ付けされた質問 「distributed-systems」

2
分散サービスで「リトライストーム」を回避する方法
「再試行ストーム」は、クライアントが設定された回数再試行するように設定された場合に発生します。サービスの通常の動作ではパケット損失が発生するため、再試行ポリシーが必要です。 この例を見てみましょう: たとえば、サービス全体が1秒あたり80,000リクエストをサポートし、キャパシティの約80%で実行されるようにスケーリングされている場合、サービスが1秒あたり101,000リクエストを受信する原因となったトラフィックのスパイクにより、1,000リクエストが失敗します。 再試行ポリシーが有効になると、エラーが検出された場所に応じて、追加で1,000以上のリクエストが発生し、サービス全体として1秒あたり最大102,000のリクエストがプッシュされます。毎秒失敗したリクエストの数。 予測されたピークトランザクションを超えるサービスの大規模な過剰プロビジョニング以外は、非効率的です。「リトライストーム」を回避するためにどのような戦略を採用できますか?

3
分散システム設定でのSQSメッセージの公平な分散を確実にする方法は?
複数のサーバーがあり、それぞれにSQSキューをポーリングするスクリプトがあります(すべて同じキューをポーリングします)。 それで、それらすべてのクライアント(つまり、ここの私のワーカーサーバー)へのメッセージの公平な配布を保証できる方法はありますか?たとえば、キュ​​ーに100のメッセージがある20-20-20-20-20場合、5つのワーカーがある場合などです。 AWS ELB(Elastic Load Balancer)はそれを行うのに役立ちますか?はいの場合、どのように?そうでない場合、AWSエコシステムには、私がそれを行うのに役立つ代替サービスがありますか? それとも私はこれを考えすぎていますか?つまり、これはポーリングスクリプトで直接解決できますか?[複数のクライアントが単一のキューをポーリングすることによる競合状態に注意してください]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.