sean finney on 2 Oct 2004 17:15:03 -0000 |
On Sat, Oct 02, 2004 at 06:24:03AM -0700, 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. that they can. > 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? if there's a database involved, it gets a bit trickier. how to handle that depends on how much time and resources you have, and how important that the database is clustered with the rest of the provided services. one option would be to put the database on a seperate server, and have all your web apps on every machine configured to talk to this machine. if the database is not the bottleneck in your equation, this is probably the simplest setup. alternatively, if your database supports it, you could share the database *files* over smb/nfs and have multiple database servers with access to the same database files (i've never done this). or, use something like "mysql cluster", or your vendor's equivalent of a "multi-master" database server. this can be quite complicated though. one thing i'd like to mention though. round-robin dns is not a very good system for load balancing. you have no way of ensuring that the load is effectively balanced, it puts a considerable load on your dns server (because of the short ttls), and if a server goes down your service will become inconsistant and spotty. a better solution is using linux virtual server, or a vendor pre-packaged version of it like redhat's application clustering suite. sean Attachment:
signature.asc
|
|