Please sir, can I have some more?

I see two strategies emerging:
* Internal load balancing: let the servers negotiate between each other to
determine which one should service the request. aka linux-ha, carp.
But a pretty serious problem occurs if one or more of the servers fails in
such a way that it thinks all the other servers are down and all the other
servers think that it is down. I would rather not leave it up to the servers
in the cluster to decide if they have failed or not.

* External load balancing: use a proxy or router to balance requests among a
cadre of servers. aka F5, pf rdr rules, ipvs/lvs.
But how do you make the load balancer highly available? A hardware load
balancer will be more stable than any server, but it can still fail.

ipvs/lvs hasn't been updated since 2004 (the FreeBSD port was last updated
in 2005). While that might indicate a mature project, I'm skeptical;
especially given the amount of work that has gone into other networking
projects since then.

linux-ha/heartbeat looks interesting, but sounds like it could be very
suceptabe to the situation where more than one server thinks that it should
be the only server.

I can build a pretty simple, and moderatly robust, load balancer using carp,
pf, and router-side scrips which should do nearly the same thing as a
layer-7 router. This seems like my best option at the moment. (It doesn't
*have* to be open source, but my CFO would appreciate it.) Unfortunatly pf,
as near as I can tell, doesn't do weighted redirection and would require
scripts, and associated load, to manage the IPs in the cluster.

-- 
Perfection is just a word I use occasionally with mustard.
--Atom Powers--
_______________________________________________
Tech mailing list
Tech@lopsa.org
http://lopsa.org/cgi-bin/mailman/listinfo/tech
This list provided by the League of Professional System Administrators
 http://lopsa.org/

Reply via email to