es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Módulo de reintentos Resilience4j en Spring Cloud Circuitbreaker.

Estoy tratando de migrar mi implementación de Spring Boot 2 Resilience4j a la proporcionada por Spring Cloud Circuitbreaker.

Así que básicamente, de las dependencias resilience4j-spring-boot2 + resilience4j-reactor a la dependencia spring-cloud-starter-circuitbreaker-reactor-resilience4j.

Según la documentación de Spring Cloud, descubrí que era posible configurar el CircuitBreaker (que contiene el módulo TimeLimiter) y los módulos Bulkhead de Resilience4j a través de personalizadores.

Sin embargo, no veo ninguna configuración disponible para los módulos Retry y RateLimiter, que son características disponibles en la documentación de R4J.

¿Hay alguna manera de configurar esos módulos directamente con Spring Cloud Circuitbreaker para que sean parte de ReactiveCircuitBreakerFactory? ¿O todavía necesito configurar un RetryRegistry por separado?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según la documentación de Spring Cloud Circuitbreaker, parece que los módulos Retry y RateLimiter no son configurables directamente dentro de ReactiveCircuitBreakerFactory. En su lugar, sugieren utilizar las integraciones Resilience4j Retry y RateLimiter directamente.

    Entonces, si deseas utilizar los módulos Retry y RateLimiter con Spring Cloud Circuitbreaker, deberás configurar y utilizarlos por separado con las respectivas integraciones Resilience4j. Esto significa que deberás configurar un RetryRegistry y/o un RateLimiterRegistry por separado de ReactiveCircuitBreakerFactory.

    Sin embargo, aun puedes envolver manualmente tu ReactiveCircuitBreakerFactory con un decorador Retry o RateLimiter si deseas combinar las funcionalidades CircuitBreaker, Retry y/o RateLimiter.

    En general, parece que utilizar Spring Cloud Circuitbreaker con Resilience4j proporciona una forma fácil de configurar y utilizar los módulos CircuitBreaker y Bulkhead con personalizadores, pero para otros módulos Resilience4j como Retry y RateLimiter, deberás utilizar las integraciones Resilience4j directamente.

Comments are closed.