From: Rick DeNatale Date: 2007-05-13T01:54:36+09:00 Subject: Re: ANN: Swiftiply 0.5.0 On 5/12/07, khaines@enigo.com wrote: > On Sat, 12 May 2007, Rick DeNatale wrote: > > > This looks like it nicely handles the multiple apps case but, unless I > > miss it, not multiple instances per app. > > By multiple instances per app, I assume that you mean multiple backend > processes, right? > > That's the whole point. They all connect to the SAME address/port, > because the instances are clients of swiftiply instead of being standalone > servers. > > So, for example, if you have the following config section: > > map: > - incoming: planner.walrusinc.com > outgoing: frontend.walrusinc.com:11111 > - incoming: blog.walrusinc.com > outgoing: frontend.walrusinc.com:11112 > > Then Swiftiply proxies requests for planner.walrusinc.com to the backends > connected to frontend.walrusinc.com:11111, and blog.walrusinc.com to the > backends connected to frontend.walrusinc.com:11112. > > Because the backends are clients of Swiftiply, you have have however many > of them that you need all connected to the same point. So > blog.walrusinc.com is running with 2 backends, but walrusinc's thoughts > become popular, so they spin up a second machine with a couple more > backends on it. All of the backends connect to > frontend.walrusinc.com:11112. > > swiftiply_mongrel_rails will start N mongrel_rails processes, all on the > same address/port, with a pid file for each (since the default pid file is > named by port with mongrel_rails, that won't work when all of the > processes are connected to the same port). Okay, I missed that, so swiftipy_mongrel_rails is really a substitute for mongrel_cluster. I guess that you can also put this behind say Apache by setting the cluster_port to something other than 80 and using mod_proxy. > However, I am sure that better integration with mongrel_cluster is needed. > More complete support for all Ruby frameworks is my primary goal for the > next release. I guess that one concern is tracking changes to the base mongrel. Another would be how this interacts with deployment tools like Capistrano and Deprec. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/