Yes, that is client side circuit breaker. What Aruna is implementing is server side circuit breaker. Yes, we need both.
On Fri, Mar 11, 2016 at 4:04 PM, Lakmal Warusawithana <lak...@wso2.com> wrote: > Did you looked at [1] > > Netflix Hystrix <https://github.com/Netflix/Hystrix> is an incredibly > useful library for writing code that invokes remote services. Hystrix times > out calls that exceed the specified threshold. It implements a *circuit > breaker* pattern, which stops the client from waiting needlessly for an > unresponsive service. If the error rate for a service exceeds a specified > threshold, Hystrix trips the circuit breaker and all requests will fail > immediately for a specified period of time. Hystrix lets you define a > fallback action when a request fails, such as reading from a cache or > returning a default value. If you are using the JVM you should definitely > consider using Hystrix. > > [1] https://github.com/Netflix/Hystrix > > On Fri, Mar 11, 2016 at 2:42 PM, Aruna Karunarathna <ar...@wso2.com> > wrote: > >> Hi Devs, >> >> *Scenario* >> >> The deployed services in a MSF4J may fail to serve the requests due to >> various factors. e.g, >> 1. Less resources in the server. >> 2. High Load in the server >> 3, Some services take more time to respond etc. >> >> In this kind of a situation, if the server is getting requests though >> there is no resources to serve those requests, and eventually the server >> will get unusable. >> >> *Solution* >> >> The Circuit Breaker design pattern can save the server from above >> scenarios, The typical design can be illustrated as in the following >> diagram. >> >> >> So as in the above diagram, when number of failures of a particular >> resource exceeds the Max Failure Count, then the state of that resource is >> moved to the open state with a timeout value (Trip Breaker). At this point >> the requests coming to the server is routed back without passing the >> internal to process further. >> >> After the timeout has reached, the state is moved to Half-Open state, and >> if the consecutive request pass to the server to process (Attempt Reset), >> if success then close the circuit (Reset Breaker), If fail then again move >> the state to the Open with a timeout value (Trip Breaker). >> >> Any thoughts, suggestions regarding the above approach? >> >> References >> [1]. >> http://www.javaworld.com/article/2824163/application-performance/stability-patterns-applied-in-a-restful-architecture.html?page=2 >> [2]. >> http://ssagara.blogspot.com/2015/05/timeout-and-circuit-breaker-pattern-in.html >> [3]. https://pragprog.com/book/mnee/release-it >> >> >> Regards, >> Aruna >> -- >> >> *Aruna Sujith Karunarathna * >> WSO2, Inc | lean. enterprise. middleware. >> #20, Palm Grove, Colombo 03, Sri Lanka >> Mobile: +94 71 9040362 | Work: +94 112145345 >> Email: ar...@wso2.com | Web: www.wso2.com >> >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Lakmal Warusawithana > Director - Cloud Architecture; WSO2 Inc. > Mobile : +94714289692 > Blog : http://lakmalsview.blogspot.com/ > > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>* *email: **az...@wso2.com* <az...@wso2.com> * cell: +94 77 3320919blog: **http://blog.afkham.org* <http://blog.afkham.org> *twitter: **http://twitter.com/afkham_azeez* <http://twitter.com/afkham_azeez> *linked-in: **http://lk.linkedin.com/in/afkhamazeez <http://lk.linkedin.com/in/afkhamazeez>* *Lean . Enterprise . Middleware*
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture