Approach and Benefits of Hystrix in full non-blocking system

Skip to first unread message

Greg Roodt

Aug 25, 2016, 5:32:42 PM8/25/16
to HystrixOSS

I'm considering refactoring some Hystrix code written using the blocking approach into the non-blocking Observables approach using async-http, netty etc..

I've got some questions around this.

In this scenario, should Thread-pool separation still be used, or should it be semaphore based?

Also, does Hystrix really offer all that much in this scenario? I guess it's mostly beneficial for the circuit-breaker here. But the concurrency and timeouts would be available with regular non-blocking code.


Matt Jacobs

Aug 25, 2016, 5:40:51 PM8/25/16
to HystrixOSS
Good questions!

Hystrix should only be used with semaphores for HystrixObservableCommands.  I agree that non-blocking code makes Hystrix less necessary.  We're in the middle of apply Hystrix to some non-blocking systems internally at the moment.  We still find that a consistent place to put fallback behavior, have timeouts, and bound concurrency is useful.  Generally, we feel that building a resilient nonblocking system without Hystrix will be easier than a resilient blocking system without Hystrix, so its benefit is somewhat muted.  We'd love to hear about your experiences, if you can share as you get further.


Greg Roodt

Aug 26, 2016, 8:29:39 AM8/26/16
to HystrixOSS
Ok, thanks!

I'll keep you posted.

Anuj Yadav

Nov 4, 2017, 10:46:32 AM11/4/17
to HystrixOSS
Any updates related to this? Can you share your findings please?

Reply all
Reply to author
0 new messages