resilience4j 공식 레퍼런스를 한글로 번역한 문서입니다.
전체 목차는 여기에 있습니다.
목차
- Decorate Mono or Flux with a CircuitBreaker
- Decorate Mono or Flux with a RateLimiter
- Decorate Mono or Flux with a Bulkhead
- Decorate Mono or Flux with Retry
Decorate Mono or Flux with a CircuitBreaker
다음 예제는 커스텀 리액터 연산자를 사용해서 Mono를 데코레이트하는 방법을 보여준다. Flux도 지원한다.
CircuitBreakerOperator
는 다운스트림 subscriber/observer가 업스트림 Publisher를 구독할 수 있는 권한을 얻을 수 있는지 확인한다. CircuitBreakerOperator는 CircuitBreaker가 OPEN 상태면 다운스트림 subscriber에게 CallNotPermittedException
을 방출한다.
CircuitBreaker circuitBreaker = CircuitBreaker.ofDefaults("name");
Mono.fromCallable(backendService::doSomething)
.transformDeferred(CircuitBreakerOperator.of(circuitBreaker))
Decorate Mono or Flux with a RateLimiter
다음 예제는 커스텀 리액터 연산자를 사용해서 Mono를 데코레이트하는 방법을 보여준다. Flux도 지원한다.
RateLimiterOperator
는 다운스트림 subscriber/observer가 업스트림 Publisher를 구독할 수 있는 권한을 얻을 수 있는지 확인한다. RateLimiterOperator는 Rate limit을 초과하면 업스트림의 데이터 요청을 지연시키거나 다운스트림 subscriber에게 RequestNotPermitted
에러를 방출할 수 있다.
RateLimiter rateLimiter = RateLimiter.ofDefaults("name");
Mono.fromCallable(backendService::doSomething)
.transformDeferred(RateLimiterOperator.of(rateLimiter))
Decorate Mono or Flux with a Bulkhead
다음 예제는 커스텀 리액터 연산자를 사용해서 Mono를 데코레이트하는 방법을 보여준다. Flux도 지원한다.
BulkheadOperator
는 다운스트림 subscriber/observer가 업스트림 Publisher를 구독할 수 있는 권한을 얻을 수 있는지 확인한다. BulkheadOperator는 Bulkhead가 가득차면 다운스트림 subscriber에게 BulkheadFullException
을 방출한다.
Bulkhead bulkhead = Bulkhead.ofDefaults("name");
Mono.fromCallable(backendService::doSomething)
.transformDeferred(BulkheadOperator.of(bulkhead));
Decorate Mono or Flux with Retry
Retry retry = Retry.ofDefaults("backendName");
Mono.fromCallable(backendService::doSomething)
.transformDeferred(RetryOperator.of(retry))
Next :Spring Boot 2 Getting Started
스프링 부트 2와 Resilience4j를 통합하는 방법. 설정 프로퍼티, 어노테이션, 엔드포인트 소개
전체 목차는 여기에 있습니다.