+1 for the proposal Sajith! It's nice to see more load balancer extensions
being added.

On Tue, May 5, 2015 at 11:20 AM, Lakmal Warusawithana <[email protected]>
wrote:

> +1 Sajith, since we have feature freeze for 4.1.0 please work in separate
> branch (or local) and merge it into master soon after 4.1.0 release.
>
> On Mon, May 4, 2015 at 9:38 AM, Sajith Kariyawasam <[email protected]>
> wrote:
>
>> Hi Devs,
>>
>> I would like to propose LVS load balancer support for Stratos.
>>
>> In a normal working setup as mentioned in [1], two load balancers (each
>> running ipvsadm and keepalived) are paired, one master and one slave.
>> Keepalived is configured per pair using vrrp allows the automatic failover
>> to let the slave become master if load balancing dies on the master.
>> There are N real servers each running the real service located behind the
>> load balancer. With Stratos in place, the real servers are orchestrated and
>> monitored by Stratos and whenever an extra real server gets added to the
>> cluster of real servers (because of scaling up) the load balancers need to
>> get updated by Stratos to include the new real server in the load balancing
>> decisions. In the same way, if a real server becomes unavailable (scaled
>> down), the load balancers need to get updated by Stratos to remove the now
>> unavailable server from the load balancing decisions.
>>
>> This requires load balancer configuration to be updated accordingly to
>> reflect new real server (member) IP s, and this can be implemented by
>> extending Stratos load balancer extension API. This "plugin" will be
>> listenning to the "Topology" topic of Message broker and will update the
>> LVS load balancer configuration (both master and slave if present)
>> accordingly, either when extra real servers added up in a scale-up or when
>> extra real servers removed in scale-down.
>>
>> In each of real server, the required configuration (bringing up dummy
>> interface) can be done via puppet or via a cartridge agent module. For that
>> the virtual ip address needs to be passed in the payload when the real
>> server is booting up.
>>
>> [1] http://blackbird.si/loadbalancing-failover-with-ipvs-and-keepalived/
>>
>>
>> Thanks,
>> Sajith
>>
>
>
>
> --
> Lakmal Warusawithana
> Vice President, Apache Stratos
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Reply via email to