localzuk Posted February 13, 2011 Posted February 13, 2011 Thought I'd ask people on here about this. If I were to have a website that will eventually scale to quite a fair amount of use, and wanted to load balance it across servers, what would be the best way of doing this? My thought was using round robin DNS for the web front end servers, which then connect to a single database (for writes) which is clustered with a secondary database server which can be used for reads and failover should the primary db fail. Am I missing anything?
Soulfish Posted February 13, 2011 Posted February 13, 2011 Problem with round robin DNS for HTTP connection and dynamic websites is that you can loose the session causing all sorts of problems. When looking to load balance that sort of thing you have to start looking at things like the Ctirix NetScaler range or F5 BIG-IP loadbalancer range - starts getting expensive . You could also look into something like HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer An alternative is to use a hosting provider that already does alot of the work for you (someone like TSOHost who are very good). Really depends on how big you think you're going to need to scale to. 1
localzuk Posted February 13, 2011 Author Posted February 13, 2011 Yeah, I'd seen someone comment about session issues. HAProxy looks interesting though, but does it not go and add a single point of failure?
Soulfish Posted February 13, 2011 Posted February 13, 2011 I haven't looked into in depth (haven't need to think about load balancing in a long time ) but I suspect their may be a way to run a pair/pool of them in some form of HA mode. 1
Soulfish Posted February 13, 2011 Posted February 13, 2011 Seems someones documented an Active/Passive HA solution for HAProxy at Setting Up A High-Availability Load Balancer With HAProxy/Keepalived On Debian Lenny | HowtoForge - Linux Howtos and Tutorials 1
localzuk Posted February 13, 2011 Author Posted February 13, 2011 Thanks, that looks interesting. As does TSOhost - it looks ideal to start out this sort of site on, as they've got the full infrastructure in place already.
Soulfish Posted February 13, 2011 Posted February 13, 2011 Thanks, that looks interesting. As does TSOhost - it looks ideal to start out this sort of site on, as they've got the full infrastructure in place already. Yep - we actually host our school website on their clustered platform. Means that we're pretty confident that should the site get flooded by people trying to find the status of the school (like on snow days!) it won't get overwhelmed. Great people at TSOHost, and I've frequently had support questions answered in less than 5 minutes at 3am in the morning
localzuk Posted February 13, 2011 Author Posted February 13, 2011 Yep - we actually host our school website on their clustered platform. Means that we're pretty confident that should the site get flooded by people trying to find the status of the school (like on snow days!) it won't get overwhelmed. Great people at TSOHost, and I've frequently had support questions answered in less than 5 minutes at 3am in the morning I've sent them a few questions. Problem I'll have is I need to be able to use some form of transparent database encryption too. So, need the servers to support it.
localzuk Posted February 13, 2011 Author Posted February 13, 2011 Ok, got some responses earlier. Their databases aren't clustered, and their MSSQL instances are not enterprise edition, so can't support TDE. So, to do what I want, it'd cost a *lot* of money...
dhicks Posted February 14, 2011 Posted February 14, 2011 If I were to have a website that will eventually scale to quite a fair amount of use, and wanted to load balance it across servers, what would be the best way of doing this? A cloud service? Something like Amazon's EC2 - I think they even have ready-made load balancing VMs ready to go. There was a post here a while back about Amazon now let you run a single, small VM instance for free, so you could maybe start with that to see how you get on. For development, you can always set up your own private cloud with Ubuntu and transfer to EC2 or a similar service later.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now