On Mon, Mar 14, 2016 at 7:18 AM, Lakmal Warusawithana <[email protected]>
wrote:

> Hi Azeez,
>
> Without server side circuit breaker, can't we achieve this simply in load
> balancers? See nginx "Passive Health Monitoring". It has implemented this
> into some level.
>

Yes, it can be achieved to a certain degree, but concepts like half open
cct, variable time windows (e.g. 5 min, 10 min, 15 min failure rates) etc.
offer a lot of flexibility, and we don't have to do a lot to achieve that
because we already have metrics support in MSF4J. Also, we don't have to
implement this for multiple load balancers.


>
> My point is all these micro services going to be fronted by a load
> balancers and if clients not implementing client side circuit breaker,
>  best place to support circuit breakers is in the load balancers.
>
> On Sat, Mar 12, 2016 at 6:16 PM, Afkham Azeez <[email protected]> wrote:
>
>> Isabelle & Sanjiva,
>>
>> http://www.javaworld.com/article/2824163/application-performance/stability-patterns-applied-in-a-restful-architecture.html?page=2
>> which Aruna had given as a reference explains circuit breaker on the server
>> side. IMO, circuit breaker on both client side & server side are useful
>> features in a microservices framework. In fact these are features people
>> look for when evaluating microservices frameworks.
>>
>> Thanks
>> Azeez
>>
>> On Sat, Mar 12, 2016 at 5:11 PM, Isabelle Mauny <[email protected]>
>> wrote:
>>
>>> If an API GW is used to access the microservices , then the circuit
>>> breaker pattern would apply at that level, right ?  If the client is a web
>>> app directly calling MS (not that this would be a good pattern at all !)
>>> then the client is the web app. In any case, they are all clients calling
>>> the microservices. So I am not sure about server side either..
>>>
>>>
>>> -------------------------------------------------------------------------------------
>>> *Isabelle Mauny*
>>> VP, Product Management - WSO2, Inc. - http://wso2.com/
>>>
>>> On Sat, Mar 12, 2016 at 8:26 AM, Sanjiva Weerawarana <[email protected]>
>>> wrote:
>>>
>>>> I don't understand what server side circuit breaker means. How does the
>>>> server adjust itself? Where's that bit of logic running?
>>>>
>>>> IMO this is not needed in a container world.
>>>>
>>>> On Fri, Mar 11, 2016 at 4:38 PM, Afkham Azeez <[email protected]> wrote:
>>>>
>>>>> 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 <[email protected]
>>>>> > 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 <[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/
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Afkham Azeez*
>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>> * <http://www.apache.org/>*
>>>>> *email: **[email protected]* <[email protected]>
>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: *
>>>>> *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
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Sanjiva Weerawarana, Ph.D.
>>>> Founder, CEO & Chief Architect; WSO2, Inc.;  http://wso2.com/
>>>> email: [email protected]; office: (+1 650 745 4499 | +94  11 214 5345)
>>>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311
>>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva
>>>> Lean . Enterprise . Middleware
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> *Afkham Azeez*
>> Director of Architecture; WSO2, Inc.; http://wso2.com
>> Member; Apache Software Foundation; http://www.apache.org/
>> * <http://www.apache.org/>*
>> *email: **[email protected]* <[email protected]>
>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: *
>> *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
>> [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
>
>


-- 
*Afkham Azeez*
Director of Architecture; WSO2, Inc.; http://wso2.com
Member; Apache Software Foundation; http://www.apache.org/
* <http://www.apache.org/>*
*email: **[email protected]* <[email protected]>
* 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
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to