Trang 3: Cơ chế Kháng lỗi (Resiliency)
Hệ thống sử dụng cơ chế Retry-with-Recovery tại lớp ExternalApiClient:
3.1 Cơ chế Retry
Sử dụng Annotation @Retryable cho các phương thức gọi API:
maxAttempts = 3: Thử lại tối đa 3 lần nếu xảy ra Exception.backoff = @Backoff(delay = 2000): Chờ 2 giây giữa mỗi lần thử lại.
3.2 Cơ chế Recovery (Hồi phục)
Khi cả 3 lần thử lại đều thất bại, phương thức @Recover sẽ được kích hoạt để trả về một phản hồi "an toàn" thay vì làm sập ứng dụng:
@Recover
public ResponseEntity<?> recoverSigning(Exception e) {
log.warn("Recovering after signing call failed", e);
return ResponseFactory.error("Signing service error: " + e.getMessage(), ...);
}
Không có bình luận nào để hiển thị
Không có bình luận nào để hiển thị