Open StarpTech opened 7 years ago
Yep absolutely right, these things have been on the radar for some time, great time to start outlining an approach cc @mcollina
Good circuit breaker nodejs implementation https://github.com/yammer/circuit-breaker-js
@StarpTech that was good research! In the mu terminology, where do you see this?
I think it is in transports, either as a wrapping transport mu.outbound({ hello: 'world' }, circuitBreaker(mytransport))
. Or it can live in the mu
core. I am more on the wrapping transport side.
As the implementation goes, I would prefer to have our own implementation. Would you like to contribute?
I think it would be an adapter, like mu-balance or mu-tee
@StarpTech if you would like to build, I'll add you to contribs, a circuit breaker def needs to be part of the core monorepo
@mcollina I need some investigation to understand the whole concept of Mu but its very simliar to seneca so I think its blink. I also prefer to build it as own package. @davidmarkclements Yes, would be great to be able to contribute. At the moment Im bussy but I will commit in regular intervals like here.
I think this concept should be in core!
Dave, we might want to setup an empty package folder here now, and open an issue to track progess.
yah circuit breaker is def core - will do tomorrow
Agreed that these are required @StarpTech. These should be implemented as transport adapters, and should live in the core mono-repo - as per the example balance and tee adapters.
Mu is an message based router for building distributed systems this include a concept which describes how to dealing with failure scenerios.
Netflix use this Approach I think we can get inspired to implement a simliar strategy for Mu.
Now, we can start the discussion.
References: https://github.com/Netflix/Hystrix/wiki/Operations http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html https://msdn.microsoft.com/en-us/library/dn589784.aspx https://github.com/Netflix/Hystrix/wiki/