Amazon QLDB의 드라이버를 사용한 재시도 정책에 대한 이해 - Amazon Quantum Ledger Database(QLDB)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon QLDB의 드라이버를 사용한 재시도 정책에 대한 이해

Amazon QLDB 드라이버는 재시도 정책을 사용하여 실패한 트랜잭션을 투명하게 재시도하여 일시적인 예외를 처리합니다. 이러한 예외(예: CapacityExceededExceptionRateExceededException)는 일반적으로 일정 시간이 지나면 자동으로 수정됩니다. 예외와 함께 실패한 트랜잭션을 적절한 지연 후에 다시 시도하면 성공할 가능성이 높습니다. 이는 QLDB를 사용하는 애플리케이션의 안정성을 개선하는 데 도움이 됩니다.

재시도 가능한 오류 타입

드라이버는 트랜잭션 내에서 작업을 수행하는 동안 다음과 같은 예외가 하나라도 발생하는 경우에만 트랜잭션을 자동으로 재시도합니다.

  • CapacityExceededException - 요청이 원장의 처리 용량을 초과할 때 반환됩니다.

  • InvalidSessionException - 세션이 더 이상 유효하지 않거나 세션이 존재하지 않을 때 반환됩니다.

  • LimitExceededException - 활성 세션 수와 같은 리소스 제한을 초과할 경우 반환됩니다.

  • OccConflictException - OCC(낙관적 동시성 제어)의 검증 단계에서 실패로 인해 트랜잭션을 저널에 기록할 수 없을 때 반환됩니다.

  • RateExceededException - 요청 비율이 허용된 처리량을 초과할 때 반환됩니다.

기본 키 정책

재시도 정책은 재시도 조건과 백오프 전략으로 구성됩니다. 재시도 조건은 트랜잭션을 재시도해야 하는 시기를 정의하고, 백오프 전략은 트랜잭션을 재시도하기 전에 기다려야 하는 시간을 정의합니다.

드라이버 인스턴스를 만들 때 기본 재시도 정책은 최대 4회까지 재시도하고 지수 백오프 전략을 사용하도록 지정합니다. 지수 백오프 전략은 지터가 동일한 최소 10밀리초와 최대 5000밀리초의 지연을 사용합니다. 재시도 정책 내에서 트랜잭션을 성공적으로 체결할 수 없는 경우 다른 시간에 트랜잭션을 시도하는 것이 좋습니다.

지수 백오프의 개념은 오류 응답이 연속될 때마다 재시도 간 대기 시간을 점진적으로 늘린다는 것입니다. 자세한 설명은 AWS 블로그 게시물 지수 백오프 및 지터를 참조하세요.