spring: application.name: resilience4j-demo jackson.serialization.indent_output: true server: port: 9080 management.endpoints.web.exposure.include: '*' management.endpoint.health.show-details: always management.health.diskspace.enabled: false management.health.circuitbreakers.enabled: true management.health.ratelimiters.enabled: false info: name: ${spring.application.name} description: resilience4j demo environment: ${spring.profiles.active} version: 0.0.1 management.metrics.tags.application: ${spring.application.name} management.metrics.distribution.percentiles-histogram.http.server.requests: true management.metrics.distribution.percentiles-histogram.resilience4j.circuitbreaker.calls: true #resilience4j.circuitbreaker.metrics.use_legacy_binder: true resilience4j.circuitbreaker: configs: default: registerHealthIndicator: true slidingWindowSize: 10 minimumNumberOfCalls: 5 permittedNumberOfCallsInHalfOpenState: 3 automaticTransitionFromOpenToHalfOpenEnabled: true waitDurationInOpenState: 5s failureRateThreshold: 50 eventConsumerBufferSize: 10 recordExceptions: - org.springframework.web.client.HttpServerErrorException - java.util.concurrent.TimeoutException - java.io.IOException ignoreExceptions: - io.github.robwin.exception.BusinessException shared: slidingWindowSize: 100 permittedNumberOfCallsInHalfOpenState: 30 waitDurationInOpenState: 1s failureRateThreshold: 50 eventConsumerBufferSize: 10 ignoreExceptions: - io.github.robwin.exception.BusinessException instances: backendA: baseConfig: default backendB: registerHealthIndicator: true slidingWindowSize: 10 minimumNumberOfCalls: 10 permittedNumberOfCallsInHalfOpenState: 3 waitDurationInOpenState: 5s failureRateThreshold: 50 eventConsumerBufferSize: 10 recordFailurePredicate: io.github.robwin.exception.RecordFailurePredicate resilience4j.retry: configs: default: maxAttempts: 3 waitDuration: 100 retryExceptions: - org.springframework.web.client.HttpServerErrorException - java.util.concurrent.TimeoutException - java.io.IOException ignoreExceptions: - io.github.robwin.exception.BusinessException instances: backendA: baseConfig: default backendB: baseConfig: default resilience4j.bulkhead: configs: default: maxConcurrentCalls: 100 instances: backendA: maxConcurrentCalls: 10 backendB: maxWaitDuration: 10ms maxConcurrentCalls: 20 resilience4j.thread-pool-bulkhead: configs: default: maxThreadPoolSize: 4 coreThreadPoolSize: 2 queueCapacity: 2 instances: backendA: baseConfig: default backendB: maxThreadPoolSize: 1 coreThreadPoolSize: 1 queueCapacity: 1 resilience4j.ratelimiter: configs: default: registerHealthIndicator: false limitForPeriod: 10 limitRefreshPeriod: 1s timeoutDuration: 0 eventConsumerBufferSize: 100 instances: backendA: baseConfig: default backendB: limitForPeriod: 6 limitRefreshPeriod: 500ms timeoutDuration: 3s resilience4j.timelimiter: configs: default: cancelRunningFuture: false timeoutDuration: 2s instances: backendA: baseConfig: default backendB: baseConfig: default