[Mongrel] Running two clusters side by side

Alexander Lazic al-mongrelusers at none.at
Thu Sep 7 05:28:15 EDT 2006


On Don 07.09.2006 02:38, Jared Brown wrote:
>
>Now on to my question. How can I run two clusters side by side so that
>when the site needs to be updated the new code can be deployed, then
>first one cluster is restarted and then the other, thus preventing any
>downtime from occuring? BTW: We are using mod_proxy_balancer to load
>balance between the mongrel servers. I imagine I would have to disable
>the proxy pass through at the same time, which would mean restarting
>apache several times. What is the best way to do this on one server?

I use for this the haproxy with the following Setup:

1.) haproxy makes a cookie-session stickieness.
2.) haproxy check a /alive.data if the backend server is alive
    (option httpchk)
3.) haproxy have set the  'option persist and redispatch' flags

Now if you want to make a update you only need to use the following
steps:

1.) move the /alive.data to /alive.data.offline 
2.) wait that all customers have been logout or after a $TIME
3.) make your maintenance
4.) move the /alive.data.offline to /alive.data
5.) and now it works as before with the *new* App ;-)

More ideas/solution you can find here:

http://haproxy.1wt.eu/download/1.2/doc/architecture.txt

E.g.: 4. Soft-stop for application maintenance

Hth && regards

Alex


More information about the Mongrel-users mailing list