재시도에 대한 생각을 할 때 일반적으로 참고를 할 수 있을 것 같아서 정리했다.
현재 사용하고 있는 spring-retry 1.2.5 기준이다.
RetryPolicy (재시도 정책) | SimpleRetryPolicy | 주어진 횟수만큼만 반복 수행 |
AlwaysRetryPolicy | 항상 재시도를 수행 - 테스트 용도나 수동 설정시 이용 | |
NeverRetryPolicy | 1회만 수행(재시도를 안함) - 테스트 용도나 수동 설정시 이용 | |
CircuitBreakerRetryPolicy | 서킷 브레이커 방식의 재시도 - 시스템 장애시 유용 | |
ExceptionClassifierRetryPolicy | 최종 예외 클래스에 기반한 재수행 | |
TimeoutRetryPolicy | 제한을 시간을 가지고 반복을 수행 | |
ExpressionRetryPolicy | DSL 기반의 재시도 구문을 기술 | |
CompositeRetryPolicy |
다른 정책과 혼합해서 적용
|
|
BackOffPolicy (백오프 정책) | NoBackOffPolicy | 별도의 백오프 정책을 하지 않음 (바로 수행) |
FixedBackOffPolicy | 고정된 길이 만큼 멈추었다가 재시도 | |
ExponentialBackOffPolicy | 지수 형태의 백오프 기간을 증가하여 재시도 | |
ExponentialRandomBackOffPolicy | 랜덤으로 증가하는 지수 형태의 백오프 기간을 증가하여 재시도 | |
UniformRandomBackOffPolicy | 최소 ~ 최대 기간 내에서 랜덤의 시간을 멈추었다가 재시도 |
'Programing > Framework' 카테고리의 다른 글
[JPA] N+1 문제 (0) | 2020.06.09 |
---|---|
[Spring JPA] 멀티컬럼 - 쿼리메소드 vs @Query (0) | 2020.05.26 |
[spring boot] 2.1.6 -> 2.2.0 테스트 깨짐(인코딩) (0) | 2020.02.18 |
[spring integration] TCP 연결시간 설정 (0) | 2020.02.18 |
[Spring] mvc - DispatcherServlet 1부 (1) | 2020.02.09 |