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

Reply via email to