Kafka
  1. Kafka
  2. KAFKA-50

kafka intra-cluster replication support

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8.0
    • Component/s: None
    • Labels:
      None

      Description

      Currently, Kafka doesn't have replication. Each log segment is stored in a single broker. This limits both the availability and the durability of Kafka. If a broker goes down, all log segments stored on that broker become unavailable to consumers. If a broker dies permanently (e.g., disk failure), all unconsumed data on that node is lost forever. Our goal is to replicate every log segment to multiple broker nodes to improve both the availability and the durability.

      We'd like to support the following in Kafka replication:

      1. Configurable synchronous and asynchronous replication
      2. Small unavailable window (e.g., less than 5 seconds) during broker failures
      3. Auto recovery when a failed broker rejoins
      4. Balanced load when a broker fails (i.e., the load on the failed broker is evenly spread among multiple surviving brokers)

      Here is a complete design proposal for Kafka replication - https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Replication

        Issue Links

          Activity

          Anonymous created issue -
          Jun Rao made changes -
          Field Original Value New Value
          Attachment kafka_replication_highlevel_design.pdf [ 12487175 ]
          Attachment kafka_replication_lowlevel_design.pdf [ 12487176 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-49 [ KAFKA-49 ]
          Jun Rao made changes -
          Link This issue blocks KAFKA-48 [ KAFKA-48 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-49 [ KAFKA-49 ]
          Jun Rao made changes -
          Link This issue blocks KAFKA-48 [ KAFKA-48 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-49 [ KAFKA-49 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-48 [ KAFKA-48 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-47 [ KAFKA-47 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-46 [ KAFKA-46 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-45 [ KAFKA-45 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-44 [ KAFKA-44 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-43 [ KAFKA-43 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-42 [ KAFKA-42 ]
          Jun Rao made changes -
          Link This issue is blocked by KAFKA-41 [ KAFKA-41 ]
          Alan Cabrera made changes -
          Link This issue is blocked by KAFKA-41 [ KAFKA-41 ]
          Alan Cabrera made changes -
          Link This issue is blocked by KAFKA-41 [ KAFKA-41 ]
          Jun Rao made changes -
          Reporter Jun Rao [ junrao ]
          Jun Rao made changes -
          Fix Version/s 0.8 [ 12317244 ]
          Jun Rao made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Jun Rao made changes -
          Resolution Unresolved [ 9 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Assignee Jun Rao [ junrao ]
          Jun Rao made changes -
          Summary kafka replication kafka intra-cluster replication support
          Alan Cabrera made changes -
          Workflow jira [ 12621003 ] no-reopen-closed, patch-avail [ 12626244 ]
          Jun Rao made changes -
          Neha Narkhede made changes -
          Link This issue is blocked by KAFKA-252 [ KAFKA-252 ]
          Jun Rao made changes -
          Attachment kafka_replication_detailed_design_v2.docx [ 12516852 ]
          Jun Rao made changes -
          Attachment kafka_replication_highlevel_design.docx [ 12516853 ]
          Neha Narkhede made changes -
          Description Currently, Kafka doesn't have replication. Each log segment is stored in a single broker. This limits both the availability and the durability of Kafka. If a broker goes down, all log segments stored on that broker become unavailable to consumers. If a broker dies permanently (e.g., disk failure), all unconsumed data on that node is lost forever. Our goal is to replicate every log segment to multiple broker nodes to improve both the availability and the durability.

          We'd like to support the following in Kafka replication:

          1. Configurable synchronous and asynchronous replication
          2. Small unavailable window (e.g., less than 5 seconds) during broker failures
          3. Auto recovery when a failed broker rejoins
          4. Balanced load when a broker fails (i.e., the load on the failed broker is evenly spread among multiple surviving brokers)
          Currently, Kafka doesn't have replication. Each log segment is stored in a single broker. This limits both the availability and the durability of Kafka. If a broker goes down, all log segments stored on that broker become unavailable to consumers. If a broker dies permanently (e.g., disk failure), all unconsumed data on that node is lost forever. Our goal is to replicate every log segment to multiple broker nodes to improve both the availability and the durability.

          We'd like to support the following in Kafka replication:

          1. Configurable synchronous and asynchronous replication
          2. Small unavailable window (e.g., less than 5 seconds) during broker failures
          3. Auto recovery when a failed broker rejoins
          4. Balanced load when a broker fails (i.e., the load on the failed broker is evenly spread among multiple surviving brokers)

          Here is a complete design proposal for Kafka replication - https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Replication
          Neha Narkhede made changes -
          Attachment kafka_replication_lowlevel_design.pdf [ 12487176 ]
          Neha Narkhede made changes -
          Attachment kafka_replication_detailed_design_v2.docx [ 12516852 ]
          Neha Narkhede made changes -
          Attachment kafka_replication_highlevel_design.docx [ 12516853 ]
          Neha Narkhede made changes -
          Link This issue incorporates KAFKA-174 [ KAFKA-174 ]
          Neha Narkhede made changes -
          Link This issue incorporates KAFKA-174 [ KAFKA-174 ]
          Neha Narkhede made changes -
          Link This issue blocks KAFKA-174 [ KAFKA-174 ]
          Neha Narkhede made changes -
          Link This issue is blocked by KAFKA-327 [ KAFKA-327 ]
          Neha Narkhede made changes -
          Link This issue blocks KAFKA-174 [ KAFKA-174 ]
          Neha Narkhede made changes -
          Link This issue is blocked by KAFKA-174 [ KAFKA-174 ]
          Neha Narkhede made changes -
          Link This issue is blocked by KAFKA-330 [ KAFKA-330 ]
          Neha Narkhede made changes -
          Link This issue incorporates KAFKA-352 [ KAFKA-352 ]
          Joe Stein made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]

            People

            • Assignee:
              Jun Rao
              Reporter:
              Jun Rao
            • Votes:
              3 Vote for this issue
              Watchers:
              25 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1,764h
                1,764h
                Remaining:
                Remaining Estimate - 1,764h
                1,764h
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Development