Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 920ED7E8C for ; Fri, 19 Aug 2011 18:29:57 +0000 (UTC) Received: (qmail 76554 invoked by uid 500); 19 Aug 2011 18:29:55 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 76498 invoked by uid 500); 19 Aug 2011 18:29:55 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 76489 invoked by uid 99); 19 Aug 2011 18:29:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Aug 2011 18:29:55 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of adam.kocoloski@gmail.com designates 209.85.161.180 as permitted sender) Received: from [209.85.161.180] (HELO mail-gx0-f180.google.com) (209.85.161.180) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Aug 2011 18:29:48 +0000 Received: by gxk10 with SMTP id 10so3467329gxk.11 for ; Fri, 19 Aug 2011 11:29:27 -0700 (PDT) Received: by 10.150.252.17 with SMTP id z17mr49927ybh.299.1313778567623; Fri, 19 Aug 2011 11:29:27 -0700 (PDT) Received: from [192.168.0.164] (c-24-60-185-198.hsd1.ma.comcast.net [24.60.185.198]) by mx.google.com with ESMTPS id m3sm474215ybg.26.2011.08.19.11.29.24 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 19 Aug 2011 11:29:25 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1084) Subject: Re: Multi node topology From: Adam Kocoloski In-Reply-To: <2C7BACD2-5BCA-4D49-8355-1032E73937FB@lidalia.org.uk> Date: Fri, 19 Aug 2011 14:29:23 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <734A442D-02F5-404F-853D-1354FB5AF3CF@apache.org> References: <996688918.45063.1313760721103.JavaMail.root@unx-s-manc3> <2C7BACD2-5BCA-4D49-8355-1032E73937FB@lidalia.org.uk> To: user@couchdb.apache.org X-Mailer: Apple Mail (2.1084) X-Virus-Checked: Checked by ClamAV on apache.org Hi Robert, no, I wouldn't say that. The projects Paul mentioned can = simplify some of the setup of a multi-master deployment even if you = don't take advantage of the sharding, but they're by no means required = for it. To answer your questions, push and pull replications are approximately = equal in their efficiency these days. The approach you outlined should = be fine for a cluster of 4 nodes. Cheers, Adam On Aug 19, 2011, at 2:21 PM, Robert Elliot wrote: > Thanks; we're aware of both solutions, but as we do not currently need = to partition/shard we are interested in exploring what CouchDB could do = by itself, since it supports bi-directional replication. >=20 > Is the answer "the CouchDB developers recommend not running CouchDB in = a multi-master replicated topology"? >=20 > On 19 Aug 2011, at 18:26, Paul Davis wrote: >=20 >> Robert, >>=20 >> There are two projects for running CouchDB in a cluster: >> CouchDB-Lounge and BigCouch. CouchDB-Lounge is a combination of an >> nginx module and Python proxy that handles managing multiple backend >> CouchDB nodes. BigCouch is a pure Erlang implementation that works >> more like Dynamo. >>=20 >> [1] http://tilgovi.github.com/couchdb-lounge/ >> [2] http://github.com/cloudant/bigcouch >>=20 >> On Fri, Aug 19, 2011 at 8:32 AM, Robert Elliot = wrote: >>> Hi, >>>=20 >>> We are considering setting up a cluster with more than two nodes. = There is a lot of documentation regarding two nodes but we couldn't find = an exact answer for let's say a cluster of 4 nodes. >>>=20 >>> Would you recommend a multi-master setup where all nodes receive = writes? This would be simpler to setup and administer, and would also = be the most fault tolerant (any combination of nodes can be shutdown so = long as one is still active). >>>=20 >>> If so, should we use only push replication? Or only pull = replication? Or a combination of both? >>>=20 >>> Assuming we are using pull replication within 4 nodes: A, B, C and = D. Should we set up A to pull changes from B, C and D, B to pull changes = from A, C and D, C to pull changes from A, B and D and D to pull changes = from A, B and C? Is this the recommended approach? >>>=20 >>> Thanks for any guidance, >>>=20 >>> Rob >>>=20 >=20