Bulkhead 属性配置

您可以在应用程序的配置属性文件中配置 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. 属性提供通用配置。这允许您指定一次配置并在多个 bulkheads 之间重用它。

resilience4j.bulkhead:
    configs:
        default:
            queueCapacity: 5
        someShared:
            queueCapacity: 10
    instances:
        backendA:
            baseConfig: default
            maxConcurrentCalls: 10
        backendB:
            baseConfig: someShared

如果您以这种方式配置您的 bulkhead,它将采用最低优先级。优先级顺序为

  1. resilience4j.thread-pool-bulkhead.instances.resilience4j.bulkhead.instances.

  2. 使用 Resilience4JBulkheadProviderCustomizer 配置。

  3. resilience4j.thread-pool-bulkhead.configs.resilience4j.bulkhead.configs.

有关 Resilience4j 属性配置的更多信息,请参阅 Resilience4J Spring Boot 2 配置