Amazon QLDB でドライバーが使用する再試行ポリシーを理解する - Amazon Quantum Ledger Database (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon QLDB でドライバーが使用する再試行ポリシーを理解する

Amazon QLDB ドライバーは、再試行ポリシーを使用して、失敗したトランザクションを透過的に再試行し、一時的な例外を処理します。CapacityExceededExceptionRateExceededException などの例外は、通常、一定時間後に自己修復されます。例外により失敗したトランザクションは、適切な遅延後に再試行されると、成功する可能性があります。これにより、QLDB を使用するアプリケーションの安定性が向上します。

再試行可能なエラーのタイプ

ドライバーは、そのトランザクション内のオペレーション中に次の例外が発生した場合にのみ、トランザクションを自動的に再試行します。

  • CapacityExceededException — リクエストが台帳の処理能力を超えたときに返ります。

  • InvalidSessionException— セッションが有効でなくなった場合、またはセッションが存在しない場合に返ります。

  • LimitExceededException — アクティブセッション数などのリソース制限を超えた場合に返ります。

  • OccConflictException— の検証フェーズで障害が発生したためにトランザクションをジャーナルに書き込めない場合に返ります。オプティミスティック同時実行制御(OCC)。

  • RateExceededException — リクエストの割合が、許可されているスループットを超えた場合に返ります。

デフォルトの再試行ポリシー

再試行ポリシーは、再試行条件とバックオフ戦略で構成されます。再試行条件ではトランザクションを再試行するタイミングを定義し、バックオフ戦略ではトランザクションを再試行するまでの待機時間を定義します。

ドライバーのインスタンスを作成する場合、デフォルトの再試行ポリシーでは、最大 4 回までの再試行と、エクスポネンシャルバックオフ戦略の使用を指定します。エクスポネンシャルバックオフ戦略では、等しいジッターを使用して、最小 10 ミリ秒、最大 5000 ミリ秒遅延させます。再試行ポリシー内でトランザクションを正常にコミットできない場合は、異なるタイミングでトランザクションを試行することをお勧めします。

エクスポネンシャルバックオフは、再試行間の待機時間を累進的に長くして、連続的なエラー応答に対処するという概念に基づいています。詳細については、AWS ブログ投稿、「エクスポネンシャルバックオフとジッター」を参照してください。