+1 for the option 2 Thanks, Ruwan
On Fri, Aug 15, 2008 at 12:16 PM, Asankha C. Perera <[EMAIL PROTECTED]>wrote: > Hi Azeez > > At present, u cannot introduce a new LB algorithm impl without code > changes. Only round-robin load balancing is supported, and the > implementation has been somewhat hard-coded to use round-robin load > balancing. Users cannot do a config change and incorporate a new algorithm. > Ideally, we should let them specify the algorithm impl in the synapse.xml > file. There are two way this may be done. > > *1.* > > <definitions xmlns="http://ws.apache.org/ns/synapse"> > > *<loadbalanceAlgorithms>** > * > * <algorithm name="ec2-autoscale-roundrobin"** > ** > implementation="org.apache.synapse.algorithms.Ec2AutoScaleRoundRobin"/>** > ** </loadbalanceAlgorithms>* > > <endpoint name="dynamicLB"> > <dynamicLoadbalance failover="true" policy="*ec2-autoscale-roundrobin*"> > <membershipHandler > class="org.apache.synapse.core.axis2.Axis2LoadBalanceMembershipHandler"> > <property name="applicationDomain" value="apache.axis2.app.domain"/> > </membershipHandler> > </dynamicLoadbalance> > > </endpoint> > > </definitions> > > We haven't yet used the synapse.xml to "define" non mediation aspects of > Synapse. We already do have a synapse.properties, which defines datasources > for use by the synapse.xml's DB mediators. So I think we should not do this > in synapse.xml, but the properties file would be good.. > > *2.* > > <definitions xmlns="http://ws.apache.org/ns/synapse"> > > <endpoint name="dynamicLB"> > <dynamicLoadbalance failover="true" * > algorithm="org.apache.synapse.algorithms.Ec2AutoScaleRoundRobin"*> > <membershipHandler > class="org.apache.synapse.core.axis2.Axis2LoadBalanceMembershipHandler"> > <property name="applicationDomain" value="apache.axis2.app.domain"/> > </membershipHandler> > </dynamicLoadbalance> > > </endpoint> > > </definitions> > > Both approaches preserve backwards compatibility. Please send in your > suggestions. > > I think this approach is slightly better, since its all in "one file".. and > anyway you are just defining the algorithm impl class name as a String > > So between the two, I personally prefer option #2 > > asankha > -- > Asankha C. Perera > > WSO2 - http://wso2.org > http://esbmagic.blogspot.com > > -- Ruwan Linton http://wso2.org - "Oxygenating the Web Services Platform" http://ruwansblog.blogspot.com/
