Greg Loriman wrote: > Hi folks, > > I posted this in railsweenie, but it's not really a rails question, and the > post isn;t getting any answers. Maybe try: http://www.ruby-forum.com/forum/3 > I would love comments/advice on my above ideas, and further insights into > horizontal scaling. > [...] > Can anyone give me a few pointers? Is squid the thing? Mongrel (I don't > really know what mongrel is)? Can apache be made to do this, and if so is it > a bad idea? Obviously it needs to be pluggable since I'll be using my own > code (C or Pascal) to do the lookups for the redirection. One approach that works quite well is to use Apache 2.2 with mod_proxy_balancer in front of a cluster of Mongrel processes while keeping session state in the database. That should scale horizontally quite nicely until the database becomes the bottleneck - by then, I expect you'd have a pretty respectable amount of volume. I have no idea how much traffic it would take to swamp MySQL on a beefed up server with super fast disks, but my guess is it's enough to allow you to pay someone to cluster MySQL :) http://mongrel.rubyforge.org/ http://blog.codahale.com/2006/06/19/time-for-a-grown-up-server-rails-mongrel-apache-capistrano-and-you http://www.simplisticcomplexity.com/2006/8/13/apache-2-2-mod_proxy_balancer-mongrel-on-ubuntu-6-06 I've been down the road of traditional clustering with appservers sending messages to each other furiously duplicating state, and also with session affinity to avoid some of the duplication, but presently I feel the "shared nothing" architecture is best for me. It has some successful precedences with high-volume sites, and you basically get it for free with Ruby/Rails/Apache/Mongrel. > Thanks for your words of wisdom, > > Greg > >