Bootstrap

kafka分区和副本的关系?

  • 概念来一波
    • 比如一个topic的消息存放在两个分区中,分区1和分区2.
    • 每个分区都有自己的一个副本。即比如分区1有副本1/副本2/副本3,分区2也有分区2的副本1/副本2/副本3。
    • 一个节点上的一个topic的可以由多个分区存放,但是每个分区的leader副本会尽可能放到不同的节点上
      • 一个partition分区只能被一个消费组中的一个消费者消费(消费者组id+Topic 确定一个当前消费到哪个offset

  • 这个举个例子说明更形象
    • 例子1 如下图:topic 有4个分区,每个分区有2个副本。
      • Musk topic的分区0的leader副本在2节点上,另一个副本在1机器上;
      • Musk topic的分区1的leader副本在1节点上,另一个副本在0机器上;
      • Musk topic的分区2的leader副本在0节点上,另一个副本在2机器上;
      • Musk topic的分区3的leader副本在2节点上,另一个副本在0机器上;

  • 例子2 如下图是一个2分区3副本的Topic:分区0的leader副本在broker0节点上,分区1的leader的副本在broker2节点

;