-
概念来一波
- 比如一个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机器上;
- 例子1 如下图:topic 有4个分区,每个分区有2个副本。
- 例子2 如下图是一个2分区3副本的Topic:分区0的leader副本在broker0节点上,分区1的leader的副本在broker2节点