synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Fremantle" <pzf...@gmail.com>
Subject Re: Intelligent Synapse Load Balancer
Date Thu, 12 Jun 2008 12:14:54 GMT
I guess what I mean is - suppose its not Axis2 that is being load
balanced. Can we make a plug-point/API where Synapse gets information
on the status of the cluster. Then we could also load-balance a .NET
cluster by writing a plug-in that provides that information.

So rather than configuring this in the axis2.xml, we could have a
parameter in the Synapse config:

   <endpoint>
            <intelligentLoadbalance
helper="org.apache.axis2.cluster.LoadBalanceInformationHelper"/>
   </endpoint>

or

   <endpoint>
            <intelligentLoadbalance
helper="org.apache.synapse.extensions.dotNetLoadBalanceInformationHelper"/>
   </endpoint>

Paul
On Thu, Jun 12, 2008 at 4:52 AM, Afkham Azeez <afkham@gmail.com> wrote:
>
>
> On Wed, Jun 11, 2008 at 6:18 PM, Paul Fremantle <pzfreo@gmail.com> wrote:
>>
>> Azeez
>>
>> First thoughts are this is *very* cool.
>>
>> My second thought is that its a little too "hard coded". It would be
>> nice to allow plugging in different group/cluster discovery
>> mechanisms.
>
> Can you further elaborate on what you meant by  the group discovery
> mechanism being hard-coded? The underlying Axis2 based clustering
> implementation now supports dynamic, static & well-known address (hybrid)
> group discovery, this will be automatically available. See
> http://afkham.org/2008/05/group-membership-management-schemes.html. Also,
> the we can plug-in a different implementation based on a different group
> communication framework.
>
> Azeez
>
>
>>
>> Paul
>>
>> On Wed, Jun 11, 2008 at 12:47 PM, Afkham Azeez <afkham@gmail.com> wrote:
>> > Hi Folks,
>> > There are some limitations in the current load balancer. e.g. if we have
>> > 2
>> > identical services in 2 different worker nodes, which are fronted by a
>> > synapse load balancer instance. In such a case, we need to provide 4
>> > endpoints in the synapse.xml file. As can be seen, this is not a very
>> > scalable solution. Hence, I'm implementing an Intelligent load balancing
>> > mechanism where the application members are discovered at runtime, and
>> > the
>> > endpoint do not need to be statically specified in the synapse.xml file.
>> > So
>> > the synapse.xml file will simply look like this:
>> >
>> > <definitions xmlns="http://ws.apache.org/ns/synapse">
>> >     <sequence name="main" onError="errorHandler">
>> >         <in>
>> >             <send>
>> >                 <endpoint>
>> >                     <intelligentLoadbalance/>
>> >                 </endpoint>
>> >             </send>
>> >             <drop/>
>> >         </in>
>> >         <out>
>> >             <send/>
>> >         </out>
>> >     </sequence>
>> >
>> >     <sequence name="errorHandler">
>> >         <makefault>
>> >             <code value="tns:Receiver"
>> > xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/>
>> >             <reason value="COULDN'T SEND THE MESSAGE TO THE SERVER."/>
>> >         </makefault>
>> >         <header name="To" action="remove"/>
>> >         <property name="RESPONSE" value="true"/>
>> >         <send/>
>> >     </sequence>
>> > </definitions>
>> >
>> > Currently, the application endpoints are calculated by replacing the IP
>> > and
>> > port of the incoming request with that of the member to which this
>> > request
>> > will be forwarded to. I have only tested with HTTP/S for the moment.
>> > More
>> > details about the design can be found here:
>> > http://afkham.org/2008/06/fault-resilient-dynamic-load-balancing.html
>> >
>> > Please provide your valuable feedback on this approach.
>> >
>> > --
>> > Thanks
>> > Afkham Azeez
>> >
>> > http://afkham.org
>> > http://www.wso2.org
>> > GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760
>>
>>
>>
>> --
>> Paul Fremantle
>> Co-Founder and CTO, WSO2
>> Apache Synapse PMC Chair
>> OASIS WS-RX TC Co-chair
>>
>> blog: http://pzf.fremantle.org
>> paul@wso2.com
>>
>> "Oxygenating the Web Service Platform", www.wso2.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> For additional commands, e-mail: dev-help@synapse.apache.org
>>
>
>
>
> --
> Thanks
> Afkham Azeez
>
> http://afkham.org
> http://www.wso2.org
> GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760



-- 
Paul Fremantle
Co-Founder and CTO, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message