Skip to content

Commit

Permalink
📦Kafka
Browse files Browse the repository at this point in the history
- 在消费者组一节中添加了分区分配策略的详细说明
- 介绍了四种分区分配策略:Range、RoundRobin、Sticky 和 Custom
- 解释了每种策略的特点和适用场景
  • Loading branch information
0xcaffebabe committed Dec 31, 2024
1 parent f8df2a1 commit ea91097
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions doc/中间件/消息队列/Kafka/消费者.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,13 @@ sequenceDiagram
coordinator -->> 消费者2: 下发消费方案
```

### 分区分配策略

1. Range:根据消费者的数量将分区的范围分配给消费者。具体来说,Range 会将分区划分成若干块,每个消费者负责一个或多个连续的分区。
2. RoundRobin:将分区轮流分配给每个消费者,使得分配更加均衡。它并不考虑分区的顺序或连续性
3. Sticky:2.4 版本新增的分区分配策略。该策略尽量保持消费者原有的分区分配不变,以避免分区在消费者之间频繁地重新分配
4. Custom:客户端可以实现 ConsumerPartitionAssignor 来更灵活地设计分配策略,这也是为什么消费分配策略设计在客户端的原因

## 退出

其他线程调用`consumer.wakeup()` 会使consumer在poll抛出异常 然后进行close即可
Expand Down

0 comments on commit ea91097

Please sign in to comment.