This is almost kinda like that stupid new Java8 thing of "we removed null
by wrapping it in a fancy object" ;-).

On Thu, Mar 31, 2016 at 8:32 AM, Sanjiva Weerawarana <[email protected]>
wrote:

> So this is not what I expected the real use case to be ... this is
> basically a fancy try catch.
>
> Don't we want to show a client side example?
>
> On Thu, Mar 31, 2016 at 6:28 AM, Afkham Azeez <[email protected]> wrote:
>
>> Timeout is related to the actual operation taking more time than
>> anticipated. In such a case, without waiting indefinitely, the operation
>> times out and the fallback of the Hystrix command will be invoked. The
>> circuit will be open for a fixed period of time configured by
>> https://github.com/Netflix/Hystrix/wiki/Configuration#circuitBreaker.sleepWindowInMilliseconds
>>
>> On Thu, Mar 31, 2016 at 2:53 AM, Harshan Liyanage <[email protected]>
>> wrote:
>>
>>> Hi Azeez,
>>>
>>> Does this timeout in open state occurs in exponentially (first timeout
>>> in 10 secs, next in 20 secs etc) or linearly when transitioning back to
>>> half-open state? For example if the state is in "Open" and now the timeout
>>> (lets say 10secs timeout) occurs. Then the state is moved to "half-open"
>>> state. But the next request is also a failure and breaker state is moved
>>> back to "open". In this occasion the what will be the timeout value? Is it
>>> 10 secs or 20 secs?
>>>
>>> Having an exponential timeout might be beneficiary here as it might save
>>> lot of resources if the service is continuously failing. But I think it
>>> would be better if we can provide both options in a configurable manner. So
>>> it is up to the developer to decide which method to use.
>>>
>>> Thanks,
>>>
>>> Harshan Liyanage
>>> Software Engineer
>>> Mobile: *+94724423048*
>>> Email: [email protected]
>>> Blog : http://harshanliyanage.blogspot.com/
>>> *WSO2, Inc. :** wso2.com <http://wso2.com/>*
>>> lean.enterprise.middleware.
>>>
>>> On Wed, Mar 30, 2016 at 5:05 AM, Afkham Azeez <[email protected]> wrote:
>>>
>>>> I have written a sample which demonstrates circuit breaker in action;
>>>> http://blog.afkham.org/2016/03/microservices-circuit-breaker.html
>>>>
>>>> On Sat, Mar 12, 2016 at 6:09 PM, Afkham Azeez <[email protected]> wrote:
>>>>
>>>>> This is a feature supported by some microservices frameworks. On the
>>>>> server side, in this case MSF4J runtime, failure counts are kept track of
>>>>> and then if the failures exceed certain thresholds, the circuit trips and
>>>>> rather than dispatch to the service, it returns service unavailable.
>>>>>
>>>>> Can you explain why this is not needed in a container environment?
>>>>>
>>>>> On Sat, Mar 12, 2016 at 12:56 PM, 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
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *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*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *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
>>>>
>>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
>
> --
> 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
>



-- 
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

Reply via email to