Return-Path: X-Original-To: apmail-kafka-dev-archive@www.apache.org Delivered-To: apmail-kafka-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 62A7BFA4C for ; Mon, 15 Apr 2013 04:43:12 +0000 (UTC) Received: (qmail 53487 invoked by uid 500); 15 Apr 2013 04:43:10 -0000 Delivered-To: apmail-kafka-dev-archive@kafka.apache.org Received: (qmail 53296 invoked by uid 500); 15 Apr 2013 04:43:09 -0000 Mailing-List: contact dev-help@kafka.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@kafka.apache.org Delivered-To: mailing list dev@kafka.apache.org Received: (qmail 53244 invoked by uid 99); 15 Apr 2013 04:43:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Apr 2013 04:43:07 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of junrao@gmail.com designates 209.85.219.50 as permitted sender) Received: from [209.85.219.50] (HELO mail-oa0-f50.google.com) (209.85.219.50) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Apr 2013 04:43:03 +0000 Received: by mail-oa0-f50.google.com with SMTP id n1so3987899oag.23 for ; Sun, 14 Apr 2013 21:42:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=z9YVO+0xzj3C/mQWiR5r+AUyH0Oq+o3khRkuaC0CDm0=; b=zM5JWtLgq3DjK2As3m9GpS7ldTZM5z9kjRcZRelpXZuT1Ct7tm3D/4lGGOX4JOxeYj huEWlxOIrMaNkgKjMA2ZTXyvkAKOJKlRq+FDJJrlUT9KoOsKmltT95mdoDkHt28RDFI+ 1Tgc42qdZiJfM5XxftvUbx+0QdaONWizGyxwde9PaWEzNVk8zEyEGXiu8Sx6yz8FzJsh xYVbqAZs/bTpN/Av4KU2Sdg20kORiuSlfdceZytpVMBsn3Zesh1Ey8eE27WXymzJXoT9 Y9xf7Bdu1hHi7B6t8qPonhSRMmniQoIX/NBLnvE+HDuIGk7uzxTcTH4dYnQRZusfdb/U UH2g== MIME-Version: 1.0 X-Received: by 10.60.98.97 with SMTP id eh1mr7106615oeb.84.1366000962547; Sun, 14 Apr 2013 21:42:42 -0700 (PDT) Received: by 10.60.60.69 with HTTP; Sun, 14 Apr 2013 21:42:42 -0700 (PDT) In-Reply-To: References: Date: Sun, 14 Apr 2013 21:42:42 -0700 Message-ID: Subject: Re: interesting paper on log replication From: Jun Rao To: "dev@kafka.apache.org" Content-Type: multipart/alternative; boundary=089e011776eb23030c04da5ee221 X-Virus-Checked: Checked by ClamAV on apache.org --089e011776eb23030c04da5ee221 Content-Type: text/plain; charset=ISO-8859-1 Thanks for the link. This paper provides an alternative, but similar implementation to that in Zookeeper. The key difference seems to be that the former supports membership reconfiguration. Kafka replication is simpler because it separates the leader election part from log replication. Such separation has a few benefits: (1) the leader election part is easier to implement by leveraging a consensus system (e.g. Zookeeper); (2) the log format is simpler since the log itself is not used for leader election; (3) the replication factor for the log is decoupled from the number of parties required for leader election (e.g., in Kafka we can choose a replication factor of 2 for the log while using an ensemble of 5 for a Zookeeper cluster). Both Rafe and Zookeeper are solving a harder problem than Kafka replication because they have no consensus service to rely upon for their own leader election since they are implementing a consensus service. Thanks, Jun On Tue, Apr 9, 2013 at 10:34 PM, Jay Kreps wrote: > Very similar in design to kafka replication > https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf > > -Jay > --089e011776eb23030c04da5ee221--