


コンピュータ ネットワーキングにおけるバックオフ技術
バックオフは、過負荷または応答しないサーバーに送信されるリクエストの数を減らすためにコンピューター ネットワークで使用される手法です。これには、サーバーが前のリクエストを回復して処理できるように、連続するリクエスト間の時間を長くすることが含まれます。クライアントがサーバーにリクエストを送信し、一定期間内に応答を受信しない場合、クライアントは通常、少し待ってからリクエストを再試行します。数秒などの期間。ただし、サーバーが過負荷になっている場合、または技術的な問題が発生している場合は、リクエストにタイムリーに応答できない可能性があります。この場合、クライアントは応答を受信せずにサーバーにリクエストを送信し続ける可能性があり、リクエストの失敗が繰り返され、ネットワーク トラフィックが増加するサイクルが発生する可能性があります。このサイクルを防ぐために、バックオフ技術を使用して後続のリクエストの送信を遅らせます。 。リクエスト間の時間は、最大制限まで、以前の失敗の数に基づいて徐々に増加します。たとえば、最初のリクエストが失敗した場合、クライアントは再試行する前に 1 秒待機することがあります。 2 番目のリクエストも失敗した場合、クライアントは 2 秒待ってから再試行します。これにより、サーバーは新しいリクエストを受信する前に以前のリクエストを回復して処理できるようになります。バックオフ技術は、指数バックオフや線形バックオフなどのさまざまなアルゴリズムを使用して実装できます。指数バックオフでは、障害が発生するたびに待機時間が指数関数的に増加しますが、線形バックオフでは、障害が発生するたびに待機時間が直線的に増加します。アルゴリズムの選択は、アプリケーションの特定の要件とネットワークの特性によって異なります。要約すると、バックオフは、連続するリクエスト間の時間を増やすことによって、過負荷になったサーバーまたは応答しないサーバーに送信されるリクエストの数を減らすために使用される手法です。これにより、失敗したリクエストが繰り返されるサイクルを防ぎ、ネットワーク トラフィックを削減し、サーバーが新しいリクエストを受信する前に以前のリクエストを回復して処理できるようにします。



