配置 Resilience4J 熔断器
章节总结
📄️ 入门
Resilience4J 的实现有两个启动器,一个用于响应式应用程序,另一个用于非响应式应用程序。
📄️ 默认配置
要为所有断路器提供默认配置,可以创建一个 Customizer bean,并将其传递给 Resilience4JCircuitBreakerFactory 或 ReactiveResilience4JCircuitBreakerFactory。可以使用 configureDefault 方法来提供默认配置。
📄️ 特定断路器配置
与提供默认配置类似,您可以创建一个 Customizer bean,该 bean 会接收一个 Resilience4JCircuitBreakerFactory 或 ReactiveResilience4JCircuitBreakerFactory。
📄️ 通过合理配置这些属性,可以有效地管理和控制系统在故障情况下的行为。
你可以在应用程序的配置属性文件中配置 CircuitBreaker 和 TimeLimiter 的配置或实例。属性配置的优先级高于 Java 自定义配置。
📄️ Bulkhead 模式支持
如果 resilience4j-bulkhead 在类路径上,Spring Cloud CircuitBreaker 将使用 Resilience4j 的 Bulkhead 包装所有方法。你可以通过将 spring.cloud.circuitbreaker.bulkhead.resilience4j.enabled 设置为 false 来禁用 Resilience4j 的 Bulkhead。
📄️ 特定隔离配置
类似于证明默认的 'Bulkhead' 或 'ThreadPoolBulkhead' 配置,你可以创建一个 Customizer bean,该 bean 会传递一个 Resilience4jBulkheadProvider。
📄️ 隔板属性配置
你可以在应用程序的配置属性文件中配置 ThreadPoolBulkhead 和 SemaphoreBulkhead 实例。属性配置的优先级高于 Java 自定义配置。
📄️ 收集指标
Spring Cloud Circuit Breaker Resilience4j 包含了自动配置以设置指标收集,只要类路径上有正确的依赖项。要启用指标收集,你必须包含 org.springframework.boot:spring-boot-starter-actuator 和 io.github.resilience4j:resilience4j-micrometer。有关这些依赖项存在时生成的指标的更多信息,请参阅 Resilience4j 文档。