Our Unicorn Setup

Dusty Doris unicorn at dusty.name
Fri Oct 9 17:03:24 EDT 2009

Thanks for this post Chris, it was very informative and has answered a
few questions that I've had in my head over the last couple of days.
I've been testing unicorn with a few apps for a couple days and
actually already moved one over to it.

I have a question for list.

We are currently setup with a load balancer that runs nginx and
haproxy.  Nginx, simply proxies to haproxy, which then balances that
across multiple mongrel or thin instances that span several servers.
We simply include the public directory on our load balancer so nginx
can serve static files right there.  We don't have nginx running on
the app servers, they are just mongrel or thin.

So, my question.  How would you do a Unicorn deployment when you have
multiple app servers?

1.  Simply use mongrels upstream and let it round-robin between all
the unicorn instances on the different servers?  Or, perhaps use the
fair-upstream plugin?

nginx -> [unicorns]

2.  Keep haproxy in the middle?

nginx -> haproxy -> [unicorns]

3.  Stick haproxy in front and have it balance between the app servers
that run their own nginx?

haproxy -> [nginxs] -> unicorn # could use socket instead of tcp in this case

I would love to hear any opinions.


Dusty Doris

On Fri, Oct 9, 2009 at 3:42 PM, Chris Wanstrath <chris at ozmm.org> wrote:
> Hi list,
> I've just published a post detailing our Unicorn setup, migration
> process, and reasons for choosing it:
> http://github.com/blog/517-unicorn
> Thanks again!
> --
> Chris Wanstrath
> http://github.com/defunkt
> _______________________________________________
> mongrel-unicorn mailing list
> mongrel-unicorn at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-unicorn

More information about the mongrel-unicorn mailing list