Azeez IMO just because anyone has it is not a good enough reason to do it. We need to be 100% clear about the problem something solves. We started MSF4J with that approach - not just to create an alternative!
Sanjiva. On Mon, Mar 14, 2016 at 12:26 AM, Afkham Azeez <az...@wso2.com> wrote: > We are not leaving out anything. We are in the process of implementing > circuit breaker, bulkhead, timeout. Basically, core features people look > for when evaluating microservices frameworks. We have started with circuit > breaker. > > Thanks > Azeez > > On Sun, Mar 13, 2016 at 6:57 PM, Frank Leymann <fr...@wso2.com> wrote: > >> I do have a more general question: what justifies the focus on the >> "circuit breaker" pattern at all? It is just one patter to solve recurring >> problems with stability, i.e. other patterns are there too that are >> important (e.g. "timeout" - see Michael Nygard's nice book). >> >> Thus, what are the criteria that guide our decisions in selecting some >> patterns for implementations, some others for leaving out? >> >> >> Best regards, >> Frank >> >> 2016-03-12 8:26 GMT+01:00 Sanjiva Weerawarana <sanj...@wso2.com>: >> >>> 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 <az...@wso2.com> 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 <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 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 >>>> Architecture@wso2.org >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> Sanjiva Weerawarana, Ph.D. >>> Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ >>> email: sanj...@wso2.com; 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 >>> Architecture@wso2.org >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> 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: **az...@wso2.com* <az...@wso2.com> > * 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 > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Sanjiva Weerawarana, Ph.D. Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ email: sanj...@wso2.com; 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 Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture