隔舱属性配置
你可以在应用程序的配置属性文件中配置ThreadPoolBulkhead和SemaphoreBulkhead实例。属性配置的优先级高于Java Customizer配置。
resilience4j.thread-pool-bulkhead:
instances:
backendA:
maxThreadPoolSize: 1
coreThreadPoolSize: 1
resilience4j.bulkhead:
instances:
backendB:
maxConcurrentCalls: 10
你也可以通过 resilience4j.bulkhead.configs. 和 resilience4j.thread-pool-bulkhead.configs. 属性提供通用配置。这允许你一次性指定配置,并在多个舱壁中重复使用。
resilience4j.bulkhead:
configs:
default:
queueCapacity: 5
someShared:
queueCapacity: 10
instances:
backendA:
baseConfig: default
maxConcurrentCalls: 10
backendB:
baseConfig: someShared
如果你这样配置你的舱壁,它将具有最低的优先级。优先级顺序为:
-
resilience4j.thread-pool-bulkhead.instances.或resilience4j.bulkhead.instances. -
使用
Resilience4JBulkheadProvider进行Customizer配置。 -
resilience4j.thread-pool-bulkhead.configs.或resilience4j.bulkhead.configs.
有关Resilience4j属性配置的更多信息,请参阅 Resilience4J Spring Boot 2 Configuration。