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

Reply via email to