From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS14383 205.234.109.0/24 X-Spam-Status: No, score=-0.6 required=5.0 tests=MSGID_FROM_MTA_HEADER, RP_MATCHES_RCVD,T_DKIM_INVALID shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: Dusty Doris Newsgroups: gmane.comp.lang.ruby.unicorn.general Subject: Re: Our Unicorn Setup Date: Fri, 9 Oct 2009 17:03:24 -0400 Message-ID: References: <8b73aaca0910091242u78ac787aj48fb1b63b5bf55bc@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1255123506 22147 80.91.229.12 (9 Oct 2009 21:25:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 9 Oct 2009 21:25:06 +0000 (UTC) Cc: mongrel-unicorn@rubyforge.org To: Chris Wanstrath Original-X-From: mongrel-unicorn-bounces@rubyforge.org Fri Oct 09 23:24:56 2009 Return-path: Envelope-to: gclrug-mongrel-unicorn@m.gmane.org X-Original-To: mongrel-unicorn@rubyforge.org Delivered-To: mongrel-unicorn@rubyforge.org X-Greylist: delayed 922 seconds by postgrey-1.31 at rubycentral.org; Fri, 09 Oct 2009 17:24:53 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=4RRYOI68/I4AJ8hoe0aPp79rqPO5YN07+KIFbFV/YPo=; b=A26UeiGFAoPceDaNnMJZfHLqYOx/9xAjTMaVDuE+kL/7yLpMBv6a2M327C69w2smZT 0So36MitgBC4JF+cti6iXmYUwp29YPdWexh2QQ0bm+E6Gb22vbohRm8lEhCGDysbziO6 5IP5QGbRSZMWuM0SsO8z6LX4LfZpNtZhIQPi4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=t0yBZGgj+bnUMaFBFEQNfyJzUvMZY3XEIXbP76dZ6U69dTJhVwIMqERVvrTT9DXwYs yNv60PaE1qSIqftim+DIEtIwETeE9Xi5UTfsAtNHQ+vaY6VyByS0RfGxfaVogFkbnCGZ RvfGnYCoNFg1dX5S5J5bln4WTo9yLGW9P1wKE= In-Reply-To: <8b73aaca0910091242u78ac787aj48fb1b63b5bf55bc@mail.gmail.com> X-Google-Sender-Auth: d750db5e02c50a61 X-BeenThere: mongrel-unicorn@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: mongrel-unicorn-bounces@rubyforge.org Errors-To: mongrel-unicorn-bounces@rubyforge.org Xref: news.gmane.org gmane.comp.lang.ruby.unicorn.general:68 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.50) id 1MwMxM-0004hR-2q for gclrug-mongrel-unicorn@m.gmane.org; Fri, 09 Oct 2009 23:24:56 +0200 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 2BAF81D78828; Fri, 9 Oct 2009 17:24:55 -0400 (EDT) Received: from mail-yw0-f183.google.com (mail-yw0-f183.google.com [209.85.211.183]) by rubyforge.org (Postfix) with ESMTP id 26F291D78828 for ; Fri, 9 Oct 2009 17:24:53 -0400 (EDT) Received: by ywh13 with SMTP id 13so1493860ywh.29 for ; Fri, 09 Oct 2009 14:24:52 -0700 (PDT) Received: by 10.150.183.11 with SMTP id g11mr5618263ybf.50.1255122204708; Fri, 09 Oct 2009 14:03:24 -0700 (PDT) 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. Thanks! Dusty Doris On Fri, Oct 9, 2009 at 3:42 PM, Chris Wanstrath 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@rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-unicorn >