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 <[email protected]> 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: [email protected] | Web: www.wso2.com
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Lakmal Warusawithana
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to