You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Semaphore-based Bulkhead runs your code in the current Thread and controls the number of concurrent threads by a Semaphore.
The Threadpool-based Bulkhead runs your code in a Thread from a Thread Pool and controls the number of concurrent threads by a bounded queue and thread pool.
Hi RobWin - Can you please explain this point with the help of example?
I've two downstream services which I want to call in a resilient manner i.e. Allow certain threads allocated to call to Service A and certain to call Service B. I understood the 'maxWaitDuration' and 'maxConcurrentCalls' very well. But not able to differentiate 'maxThreadPoolSize, coreThreadPoolSize, queueCapacity' from 'maxWaitDuration' and 'maxConcurrentCalls' ? Also can we use them together or we have to use either bulkhead or threadpoolbulkhead ? I gone through demo application but can't find the practical difference (or may be I'm not able to get it)
Also why ThreadPool bulkhead is only applicable for completable futures ? Please provide more details
The text was updated successfully, but these errors were encountered:
I understood that from documentation but few points are missing on documentation. So can you please help me with following queries:
why ThreadPoolBulkHead is only applicable for CompletableFuture?
In Threadpool-based bulkhead, coreThreadPoolSize number of threads will be ulitilised first, followed by requests will be queued and remaining requests (if any) will get extra threads which are more than coreThreadPoolSize and less than maxThreadPoolSize - is this understanding correct?
We need to override all 3 maxThreadPoolSize, coreThreadPoolSize and queueCapacity properties if we want override defaultConfig. We can't override single property - is this understanding correct ?
Bulkhead -> Semaphore-based Bulkhead
ThreadPoolBulkhead -> Threadpool-based Bulkhead
The Semaphore-based Bulkhead runs your code in the current Thread and controls the number of concurrent threads by a Semaphore.
The Threadpool-based Bulkhead runs your code in a Thread from a Thread Pool and controls the number of concurrent threads by a bounded queue and thread pool.
Hi RobWin - Can you please explain this point with the help of example?
I've two downstream services which I want to call in a resilient manner i.e. Allow certain threads allocated to call to Service A and certain to call Service B. I understood the 'maxWaitDuration' and 'maxConcurrentCalls' very well. But not able to differentiate 'maxThreadPoolSize, coreThreadPoolSize, queueCapacity' from 'maxWaitDuration' and 'maxConcurrentCalls' ? Also can we use them together or we have to use either bulkhead or threadpoolbulkhead ? I gone through demo application but can't find the practical difference (or may be I'm not able to get it)
Also why ThreadPool bulkhead is only applicable for completable futures ? Please provide more details
The text was updated successfully, but these errors were encountered: