You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Imesh Gunaratne <im...@apache.org> on 2013/10/16 18:53:00 UTC

[New Architecture] [LB] Initial version of the Load Balancer is READY

Hi,

The initial version of the Load Balancer is now ready. All changes are
committed to git.

*Components Implemented (Initial versions):*
- Domain Model for managing the topology data structure.
- Topology events for receiving topology updates.
- Topology Event Message Receiver for receiving event messages from the
message broker.
- Topology Event Message Processor for updating the topology data structure
in Load Balancer.
- Topology Manager for maintaining the topology data structure and it's
consistency using a Reentrant Read Write Lock.
- Load balance endpoint.
- Session management.

*Components to be Implemented:*
- Load balancing algorithm interface and its Round Robin implementation.
- Load balancing statistics reporting interface and its implementation for
CEP.
- Domain mappings.

This version of the LB could be tested with a sample message broker client
which could publish topology events to the topology-topic. These event
could include a sample service cluster with a member having a valid host
name and a port to a web application.

One important factor of this implementation is that we have reduce the
coupling between Stratos LB and Apache Synapse/Axis2/Tribes Clustering. As
a result most of the LB components could be re-used and maintained easily.

Many Thanks
Imesh

Re: [New Architecture] [LB] Initial version of the Load Balancer is READY

Posted by Imesh Gunaratne <im...@apache.org>.
Hi Nirmal,

Thanks for the improvements and feedback. Appreciate it.

I have now implemented the algorithm interface and its Round Robin
implementation. Will commit it soon.

Thanks
Imesh


On Sat, Oct 19, 2013 at 6:22 PM, Nirmal Fernando <ni...@gmail.com>wrote:

> Beside these I've tested latest patched LB successfully with an Apache
> Server and it works. Good job Imesh!
>
> Some of the main improvements to be made:
> * Building LB specific information model on top of topology model, in
> order to serve requests faster.
> * Tenant aware load balancing.
>
>
> On Sat, Oct 19, 2013 at 6:17 PM, Nirmal Fernando <ni...@gmail.com>wrote:
>
>> Along with commits e51a4271a48f44e843c25cc800704292ae58bbb7 and
>> fe76011fdd436cc76d7e1671de9f10321a7cdd84.
>>
>>
>> On Sat, Oct 19, 2013 at 5:33 PM, Nirmal Fernando <ni...@gmail.com>wrote:
>>
>>> Hi Imesh,
>>>
>>> Thanks for the initial version. However, you haven't taken member IP
>>> into an account and I feel you got yourself confused with the host name
>>> (which is unique to a cluster) and IP (which represents a running
>>> instance's address along with ports.) .
>>>
>>> I've fixed this in commit ba99c95b19535d89cdb3f7f94dfbe95ca7845cb1.
>>>
>>>
>>>
>>> On Wed, Oct 16, 2013 at 10:44 PM, Isuru Haththotuwa <is...@wso2.com>wrote:
>>>
>>>> Awesome! Nice work!
>>>>
>>>>
>>>> On Wed, Oct 16, 2013 at 10:23 PM, Imesh Gunaratne <im...@apache.org>wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> The initial version of the Load Balancer is now ready. All changes are
>>>>> committed to git.
>>>>>
>>>>> *Components Implemented (Initial versions):*
>>>>> - Domain Model for managing the topology data structure.
>>>>> - Topology events for receiving topology updates.
>>>>> - Topology Event Message Receiver for receiving event messages from
>>>>> the message broker.
>>>>> - Topology Event Message Processor for updating the topology data
>>>>> structure in Load Balancer.
>>>>> - Topology Manager for maintaining the topology data structure and
>>>>> it's consistency using a Reentrant Read Write Lock.
>>>>> - Load balance endpoint.
>>>>> - Session management.
>>>>>
>>>>> *Components to be Implemented:*
>>>>> - Load balancing algorithm interface and its Round Robin
>>>>> implementation.
>>>>> - Load balancing statistics reporting interface and its implementation
>>>>> for CEP.
>>>>> - Domain mappings.
>>>>>
>>>>> This version of the LB could be tested with a sample message broker
>>>>> client which could publish topology events to the topology-topic. These
>>>>> event could include a sample service cluster with a member having a valid
>>>>> host name and a port to a web application.
>>>>>
>>>>> One important factor of this implementation is that we have reduce the
>>>>> coupling between Stratos LB and Apache Synapse/Axis2/Tribes Clustering. As
>>>>> a result most of the LB components could be re-used and maintained easily.
>>>>>
>>>>> Many Thanks
>>>>> Imesh
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Thanks and Regards,
>>>>
>>>> Isuru H.
>>>> Software Engineer, WSO2 Inc.
>>>> +94 716 358 048* <http://wso2.com/>*
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Nirmal
>>>
>>> Nirmal Fernando.
>>> PPMC Member & Committer of Apache Stratos,
>>> Senior Software Engineer, WSO2 Inc.
>>>
>>> Blog: http://nirmalfdo.blogspot.com/
>>>
>>
>>
>>
>> --
>> Best Regards,
>> Nirmal
>>
>> Nirmal Fernando.
>> PPMC Member & Committer of Apache Stratos,
>> Senior Software Engineer, WSO2 Inc.
>>
>> Blog: http://nirmalfdo.blogspot.com/
>>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>

Re: [New Architecture] [LB] Initial version of the Load Balancer is READY

Posted by Nirmal Fernando <ni...@gmail.com>.
Beside these I've tested latest patched LB successfully with an Apache
Server and it works. Good job Imesh!

Some of the main improvements to be made:
* Building LB specific information model on top of topology model, in order
to serve requests faster.
* Tenant aware load balancing.


On Sat, Oct 19, 2013 at 6:17 PM, Nirmal Fernando <ni...@gmail.com>wrote:

> Along with commits e51a4271a48f44e843c25cc800704292ae58bbb7 and
> fe76011fdd436cc76d7e1671de9f10321a7cdd84.
>
>
> On Sat, Oct 19, 2013 at 5:33 PM, Nirmal Fernando <ni...@gmail.com>wrote:
>
>> Hi Imesh,
>>
>> Thanks for the initial version. However, you haven't taken member IP into
>> an account and I feel you got yourself confused with the host name (which
>> is unique to a cluster) and IP (which represents a running instance's
>> address along with ports.) .
>>
>> I've fixed this in commit ba99c95b19535d89cdb3f7f94dfbe95ca7845cb1.
>>
>>
>>
>> On Wed, Oct 16, 2013 at 10:44 PM, Isuru Haththotuwa <is...@wso2.com>wrote:
>>
>>> Awesome! Nice work!
>>>
>>>
>>> On Wed, Oct 16, 2013 at 10:23 PM, Imesh Gunaratne <im...@apache.org>wrote:
>>>
>>>> Hi,
>>>>
>>>> The initial version of the Load Balancer is now ready. All changes are
>>>> committed to git.
>>>>
>>>> *Components Implemented (Initial versions):*
>>>> - Domain Model for managing the topology data structure.
>>>> - Topology events for receiving topology updates.
>>>> - Topology Event Message Receiver for receiving event messages from the
>>>> message broker.
>>>> - Topology Event Message Processor for updating the topology data
>>>> structure in Load Balancer.
>>>> - Topology Manager for maintaining the topology data structure and it's
>>>> consistency using a Reentrant Read Write Lock.
>>>> - Load balance endpoint.
>>>> - Session management.
>>>>
>>>> *Components to be Implemented:*
>>>> - Load balancing algorithm interface and its Round Robin implementation.
>>>> - Load balancing statistics reporting interface and its implementation
>>>> for CEP.
>>>> - Domain mappings.
>>>>
>>>> This version of the LB could be tested with a sample message broker
>>>> client which could publish topology events to the topology-topic. These
>>>> event could include a sample service cluster with a member having a valid
>>>> host name and a port to a web application.
>>>>
>>>> One important factor of this implementation is that we have reduce the
>>>> coupling between Stratos LB and Apache Synapse/Axis2/Tribes Clustering. As
>>>> a result most of the LB components could be re-used and maintained easily.
>>>>
>>>> Many Thanks
>>>> Imesh
>>>>
>>>
>>>
>>>
>>> --
>>> Thanks and Regards,
>>>
>>> Isuru H.
>>> Software Engineer, WSO2 Inc.
>>> +94 716 358 048* <http://wso2.com/>*
>>>
>>>
>>>
>>
>>
>> --
>> Best Regards,
>> Nirmal
>>
>> Nirmal Fernando.
>> PPMC Member & Committer of Apache Stratos,
>> Senior Software Engineer, WSO2 Inc.
>>
>> Blog: http://nirmalfdo.blogspot.com/
>>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>



-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Re: [New Architecture] [LB] Initial version of the Load Balancer is READY

Posted by Nirmal Fernando <ni...@gmail.com>.
Along with commits e51a4271a48f44e843c25cc800704292ae58bbb7 and
fe76011fdd436cc76d7e1671de9f10321a7cdd84.


On Sat, Oct 19, 2013 at 5:33 PM, Nirmal Fernando <ni...@gmail.com>wrote:

> Hi Imesh,
>
> Thanks for the initial version. However, you haven't taken member IP into
> an account and I feel you got yourself confused with the host name (which
> is unique to a cluster) and IP (which represents a running instance's
> address along with ports.) .
>
> I've fixed this in commit ba99c95b19535d89cdb3f7f94dfbe95ca7845cb1.
>
>
>
> On Wed, Oct 16, 2013 at 10:44 PM, Isuru Haththotuwa <is...@wso2.com>wrote:
>
>> Awesome! Nice work!
>>
>>
>> On Wed, Oct 16, 2013 at 10:23 PM, Imesh Gunaratne <im...@apache.org>wrote:
>>
>>> Hi,
>>>
>>> The initial version of the Load Balancer is now ready. All changes are
>>> committed to git.
>>>
>>> *Components Implemented (Initial versions):*
>>> - Domain Model for managing the topology data structure.
>>> - Topology events for receiving topology updates.
>>> - Topology Event Message Receiver for receiving event messages from the
>>> message broker.
>>> - Topology Event Message Processor for updating the topology data
>>> structure in Load Balancer.
>>> - Topology Manager for maintaining the topology data structure and it's
>>> consistency using a Reentrant Read Write Lock.
>>> - Load balance endpoint.
>>> - Session management.
>>>
>>> *Components to be Implemented:*
>>> - Load balancing algorithm interface and its Round Robin implementation.
>>> - Load balancing statistics reporting interface and its implementation
>>> for CEP.
>>> - Domain mappings.
>>>
>>> This version of the LB could be tested with a sample message broker
>>> client which could publish topology events to the topology-topic. These
>>> event could include a sample service cluster with a member having a valid
>>> host name and a port to a web application.
>>>
>>> One important factor of this implementation is that we have reduce the
>>> coupling between Stratos LB and Apache Synapse/Axis2/Tribes Clustering. As
>>> a result most of the LB components could be re-used and maintained easily.
>>>
>>> Many Thanks
>>> Imesh
>>>
>>
>>
>>
>> --
>> Thanks and Regards,
>>
>> Isuru H.
>> Software Engineer, WSO2 Inc.
>> +94 716 358 048* <http://wso2.com/>*
>>
>>
>>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>



-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Re: [New Architecture] [LB] Initial version of the Load Balancer is READY

Posted by Nirmal Fernando <ni...@gmail.com>.
Hi Imesh,

Thanks for the initial version. However, you haven't taken member IP into
an account and I feel you got yourself confused with the host name (which
is unique to a cluster) and IP (which represents a running instance's
address along with ports.) .

I've fixed this in commit ba99c95b19535d89cdb3f7f94dfbe95ca7845cb1.



On Wed, Oct 16, 2013 at 10:44 PM, Isuru Haththotuwa <is...@wso2.com> wrote:

> Awesome! Nice work!
>
>
> On Wed, Oct 16, 2013 at 10:23 PM, Imesh Gunaratne <im...@apache.org>wrote:
>
>> Hi,
>>
>> The initial version of the Load Balancer is now ready. All changes are
>> committed to git.
>>
>> *Components Implemented (Initial versions):*
>> - Domain Model for managing the topology data structure.
>> - Topology events for receiving topology updates.
>> - Topology Event Message Receiver for receiving event messages from the
>> message broker.
>> - Topology Event Message Processor for updating the topology data
>> structure in Load Balancer.
>> - Topology Manager for maintaining the topology data structure and it's
>> consistency using a Reentrant Read Write Lock.
>> - Load balance endpoint.
>> - Session management.
>>
>> *Components to be Implemented:*
>> - Load balancing algorithm interface and its Round Robin implementation.
>> - Load balancing statistics reporting interface and its implementation
>> for CEP.
>> - Domain mappings.
>>
>> This version of the LB could be tested with a sample message broker
>> client which could publish topology events to the topology-topic. These
>> event could include a sample service cluster with a member having a valid
>> host name and a port to a web application.
>>
>> One important factor of this implementation is that we have reduce the
>> coupling between Stratos LB and Apache Synapse/Axis2/Tribes Clustering. As
>> a result most of the LB components could be re-used and maintained easily.
>>
>> Many Thanks
>> Imesh
>>
>
>
>
> --
> Thanks and Regards,
>
> Isuru H.
> Software Engineer, WSO2 Inc.
> +94 716 358 048* <http://wso2.com/>*
>
>
>


-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Re: [New Architecture] [LB] Initial version of the Load Balancer is READY

Posted by Isuru Haththotuwa <is...@wso2.com>.
Awesome! Nice work!


On Wed, Oct 16, 2013 at 10:23 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi,
>
> The initial version of the Load Balancer is now ready. All changes are
> committed to git.
>
> *Components Implemented (Initial versions):*
> - Domain Model for managing the topology data structure.
> - Topology events for receiving topology updates.
> - Topology Event Message Receiver for receiving event messages from the
> message broker.
> - Topology Event Message Processor for updating the topology data
> structure in Load Balancer.
> - Topology Manager for maintaining the topology data structure and it's
> consistency using a Reentrant Read Write Lock.
> - Load balance endpoint.
> - Session management.
>
> *Components to be Implemented:*
> - Load balancing algorithm interface and its Round Robin implementation.
> - Load balancing statistics reporting interface and its implementation for
> CEP.
> - Domain mappings.
>
> This version of the LB could be tested with a sample message broker client
> which could publish topology events to the topology-topic. These event
> could include a sample service cluster with a member having a valid host
> name and a port to a web application.
>
> One important factor of this implementation is that we have reduce the
> coupling between Stratos LB and Apache Synapse/Axis2/Tribes Clustering. As
> a result most of the LB components could be re-used and maintained easily.
>
> Many Thanks
> Imesh
>



-- 
Thanks and Regards,

Isuru H.
Software Engineer, WSO2 Inc.
+94 716 358 048* <http://wso2.com/>*