resilience4j 공식 레퍼런스를 한글로 번역한 문서입니다.
전체 목차는 여기에 있습니다.
목차
- Decorate Flowable with a CircuitBreaker
- Decorate Flowable with a RateLimiter
- Decorate Flowable with a Bulkhead
- Decorate Flowable with Retry
Decorate Flowable with a CircuitBreaker
다음 예제는 커스텀 RxJava 연산자를 사용해서 Observable을 데코레이트하는 방법을 보여준다. Observable, Flowable, Single, Maybe, Completable같은 다른 리액티브 타입도 모두 지원한다.
CircuitBreakerOperator
는 다운스트림 subscriber/observer가 업스트림 Publisher를 구독할 수 있는 권한을 얻을 수 있는지 확인한다. CircuitBreakerOperator는 CircuitBreaker가 OPEN 상태면 다운스트림 subscriber에게 CallNotPermittedException
을 방출한다.
CircuitBreaker circuitBreaker = CircuitBreaker.ofDefaults("name");
Flowable.fromCallable(backendService::doSomething)
.compose(CircuitBreakerOperator.of(circuitBreaker))
Decorate Flowable with a RateLimiter
다음 예제는 커스텀 RxJava 연산자를 사용해서 Flowable을 데코레이트하는 방법을 보여준다.
Flowable, Single, Maybe, Completable같은 다른 리액티브 타입도 모두 지원한다.
RateLimiterOperator
는 다운스트림 subscriber/observer가 업스트림 Publisher를 구독할 수 있는 권한을 얻을 수 있는지 확인한다. RateLimiterOperator는 Rate limit을 초과하면 다운스트림 subscriber에게 RequestNotPermitted
에러를 방출한다.
RateLimiter rateLimiter = RateLimiter.ofDefaults("name");
Flowable.fromCallable(backendService::doSomething)
.compose(RateLimiterOperator.of(rateLimiter))
Decorate Flowable with a Bulkhead
다음 예제는 커스텀 RxJava 연산자를 사용해서 Flowable을 데코레이트하는 방법을 보여준다.
Flowable, Single, Maybe, Completable같은 다른 리액티브 타입도 모두 지원한다.
BulkheadOperator
는 다운스트림 subscriber/observer가 업스트림 Publisher를 구독할 수 있는 권한을 얻을 수 있는지 확인한다. BulkheadOperator는 Bulkhead가 가득차면 다운스트림 subscriber에게 BulkheadFullException
을 방출한다.
Bulkhead bulkhead = Bulkhead.ofDefaults("name");
Flowable.fromCallable(backendService::doSomething)
.compose(BulkheadOperator.of(bulkhead));
Decorate Flowable with Retry
Retry retry = Retry.ofDefaults("backendName");
Flowable.fromCallable(backendService::doSomething)
.compose(RetryOperator.of(retry))
Next :Spring Reactor Getting Started
리액터 전용 연산자를 제공하는 resilience4j-reactor 모듈 소개
전체 목차는 여기에 있습니다.