Approach and Benefits of Hystrix in full non-blocking system

141 views
Skip to first unread message

Greg Roodt

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

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.

Greg

Matt Jacobs

unread,
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.

-Matt

Greg Roodt

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

I'll keep you posted.

Anuj Yadav

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

~Anuj
Reply all
Reply to author
Forward
0 new messages