Писал обёртку вокруг HTTP-клиента с ручным retry, таймаутами и какой-то самописной логикой «если упало три раза — не зови больше»? resilience4j это то, что ты изобретал заново.
Библиотека даёт готовые примитивы отказоустойчивости: Circuit Breaker, Rate Limiter, Retry, Bulkhead, TimeLimiter. Всё через декораторы поверх функциональных интерфейсов — накидываешь нужное, не трогая бизнес-логику.
Supplier<String> decorated = Decorators.ofSupplier(backendService::call)
.withCircuitBreaker(circuitBreaker)
.withRetry(retry)
.withRateLimiter(rateLimiter)
.decorate();
Resilience4j 3 требует Java 21, из коробки интегрируется со Spring Boot 4, есть метрики для Prometheus/Grafana.
📱 Репозиторий
══════ Навигация ══════
Вакансии • Задачи • Собесы
🐸 Библиотека джависта
#Enterprise