See answers inline. On Tue, Oct 21, 2008 at 4:27 PM, Michele Mazzucco < [EMAIL PROTECTED]> wrote:
> I think we are getting closer to the solution :), but: > > - The load balancers at level 1 (i.e. LB1, ...., LBn) are running Axis2 > (custom), not Synapse. I don't think it makes a lot of difference, does it? Yeah, you can write some code to do that I guess. > > - What is the purpose of step # 1? I don't want to achieve replication, I > only want to add new machines at runtime, if needed (i.e. Amazon EC2 > instances). The purpose of grouping is not only replication. In Axis2 & Synapse both, you can turn off replication while still allowing the members to be added to the same group. This is just a mechanism for the underlying group communication framework to handle these members as a single dynamic group. So when you dynamically add new members to L1, the synapse load balancer at L0 will automatically be notified using group communication. > > - Should I customize the axis2.xml file or the synapse.xml on LB0? (step # > 2) You will need to change both. In the axis2.xml, you will have to enable load balancing & in the synapse.xml specify the dynamic load balance endpoint. Like I mentioned earlier, this would be much clear if you tried sample 57. > > - How do I plug my custom routing policies in LB0? (step # 3) You can write your own load balancing algorithm which will process your policy, and plug it in via the synapse.xml file. > > > > Thanks, > Michele > > > > On 21 Oct 2008, at 04:34, Afkham Azeez wrote: > > The way I understand it, this is what needs to be done. >> >> You have two levels of load balancers. At L0, you have the LB0 load >> balancer. At L1, you have LB1, LB2, LB3... LBn. I'll assume that L0 & L1 >> load balancers are Synapse. >> >> Here is how such a deployment can be setup. >> >> 1. All L1 load balancers belong to the L1 group. This can be done by >> enabling clustering in the axis2.xml file of each L1 load balancer, >> setting >> it to load balancer mode, and specifying that these load balancers belong >> to >> the L1 group. These changes have to be made to the cluster configuration >> section in the axis2.xml file. You need to specify the applicationDomains >> across which each L1 load balancer spreads the load. >> >> 2. Enable load balancer mode in the LB0 load balancer. Specify that the >> applicationDomain across which the load has to be balanced as L1. Now, you >> can add new L1 load balancers at runtime, provided that they are always >> added to the L1 group. >> >> 3. Write your own LB algorithm, that will implement your load balancing >> policy & plug it into the LB0 load balancer. The algorithm can be >> specified >> in the dynamic load balancer configuration section in the synapse.xml >> file. >> The default algorithm is round-robin, which will not be suitable in your >> case. >> >> I'd recommend that you take a look at the dynamic load balancing sample >> documentation to get a better idea. >> >> HTH >> Azeez >> >> On Mon, Oct 20, 2008 at 8:54 PM, Michele Mazzucco < >> [EMAIL PROTECTED]> wrote: >> >> Hi Azeez, >>> >>> I think you misunderstood my requirements. >>> I have different clusters (i.e. bunch of machines) exposing a certain >>> number of web services. Each cluster has its own load balancer, policies, >>> etc. >>> What I want is add another layer of indirection. Requests will pass >>> through synapse and will be forwarded to the load balancers, according to >>> my >>> own policies. I want to be able to dynamically add new clusters at >>> runtime. >>> The final scenario is: >>> >>> >>> Synapse------------>LB1--------> cluster 1 >>> ------------>LB2 -------> cluster 2 >>> etc. >>> >>> >>> That is, clients send requests to the synapse machine, which will forward >>> them to a certain load balancer LBn, which in turn will forward them to >>> certain servers for execution. >>> >>> >>> Hope everything is clear now. >>> Michele >>> >>> >>> On 20 Oct 2008, at 15:49, Afkham Azeez wrote: >>> >>> Hi Michele, >>> >>>> You requirement seems to be dynamic groups. In Synapse we support >>>> dynamic >>>> membership within specified groups. I think what you mean by "new >>>> cluster" >>>> is actually a "new group". I don't think it is practically possible to >>>> dynamically add a new group at runtime. >>>> >>>> For dynamic load balancing with dynamic membership (with static groups), >>>> check out Synapse sample #57. >>>> >>>> I hope that I have understood your question correctly. >>>> >>>> HTH >>>> Azeez >>>> >>>> On Mon, Oct 20, 2008 at 7:28 PM, Michele Mazzucco < >>>> [EMAIL PROTECTED]> wrote: >>>> >>>> Hi all, >>>> >>>>> >>>>> I'd like to use Synapse for load balancing across different clusters. >>>>> In >>>>> particular, I want not only to implement my own routing policy (which I >>>>> know >>>>> it's possible), but also to add new clusters at runtime (i.e. the >>>>> possible >>>>> destinations are not specified into a xml file). >>>>> I know I can implement it using just Axis2, but I was wondering whether >>>>> it >>>>> is possible to use Synapse (i.e. write less code). If this is the case, >>>>> I'd >>>>> really appreciate some pointers (I know Axis2 very well, but not >>>>> Synapse). >>>>> >>>>> >>>>> Thanks in advance, >>>>> Michele >>>>> >>>>> >>>>> >>>> >>>> -- >>>> Thanks >>>> Afkham Azeez >>>> >>>> Blog: http://afkham.org >>>> Developer Portal: http://www.wso2.org >>>> WSAS Blog: http://wso2wsas.blogspot.com >>>> Company: http://wso2.com >>>> GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760 >>>> >>>> >>> >>> >> >> -- >> Thanks >> Afkham Azeez >> >> Blog: http://afkham.org >> Developer Portal: http://www.wso2.org >> WSAS Blog: http://wso2wsas.blogspot.com >> Company: http://wso2.com >> GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760 >> > > -- Thanks Afkham Azeez Blog: http://afkham.org Developer Portal: http://www.wso2.org WSAS Blog: http://wso2wsas.blogspot.com Company: http://wso2.com GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760
