|Tobias DiPasquale on 2 Oct 2004 20:24:02 -0000|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Oct 2, 2004, at 9:24 AM, Marc Zucchelli wrote:
There is round robin DNS, I understand that, not 100% sure on what load balancing and clustering entail. But I do understand that all of these involve sending traffic to multiple servers, 3 servers can do more than one.
Load-balancing is an attempt to balance the demands on a service by distributed said demands over multiple real servers. This creates the illusion of a larger "virtual" server. Round-robin DNS is the earliest and poorest example of load-balancing.
"Clustering" is an oft-misused term and often implies failover more so than load-balancing, but you'll meet all sorts of people who have all different definitions for "clustering". Failover is when you have two machines per virtual node, and if the master fails, the backup takes over servicing requests for that particular node. See the heartbeat software's documentation for more information.
Most high-traffic sites will combine failover and load-balancing to provide a robust and scalable infrastructure with which to service requests.
Good places to go for this kind of information:
http://lartc.org/ http://www.linuxvirtualserver.org/ http://www.linux-ha.org/ http://www.ultramonkey.org/
For load-balancing, you'd want LVS using Direct Routing if you can manage it. That would be the fastest option. Use LVS-NAT if you can't use anything else. You should then also use failover for the LVS Director to make sure that the director does not become a single point of failure in your design.
On the cheap, you can just patch your kernel to include IMQ support and use that to shape traffic coming into the server(s) in order to keep it under a certain rate (one which you know your server can handle).
What happens when there is a database involved. If we have 3 servers, and 3 databases, they are all going to contain differently information very quickly, that is bad, how do you load balance/cluster, or whatever, a database when it needs it? Is it a rare case when it does?
You could do the things that Sean mentioned, or you could use database replication services. I know that MySQL sucks at that, but Postgres is fairly good at it and there are other RDBMSs that support replication as well (SAP DB?).
If you're just using the database for authentication purposes, then look into using LDAP instead. That would be much faster and easier to manage in a HA situation such as you desire.
Hope that helps!
- -- Tobias DiPasquale 202A 04C4 2CE6 B985 8520 88D6 CD25 1A6C B9B5 1595 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (Darwin)
iD8DBQFBXw5TzSUabLm1FZURAj3/AKCa5TDisl+WdridVjzUEkGPJuZQhwCfQ6li DbNVln5387oQM99Y/bF48Ik= =SlzW -----END PGP SIGNATURE-----
___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug