+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
