diff --git a/notes/pics/consumer-group.png b/notes/pics/consumer-group.png index 8f95afcb..e3dafe24 100644 Binary files a/notes/pics/consumer-group.png and b/notes/pics/consumer-group.png differ diff --git a/notes/消息队列.md b/notes/消息队列.md index 1e082281..3c4e466d 100644 --- a/notes/消息队列.md +++ b/notes/消息队列.md @@ -34,7 +34,7 @@ Kafka、RocketMQ 等通过消费者组把两种模型结合起来:一条消息会发送给每个订阅它的消费者组,但在一个消费者组内只会被一个消费者消费。 -

+

发布与订阅模式和观察者模式有以下不同: diff --git a/tools/diagram/src/consumer-group.svg b/tools/diagram/src/consumer-group.svg index 62d4b44a..712f6a35 100644 --- a/tools/diagram/src/consumer-group.svg +++ b/tools/diagram/src/consumer-group.svg @@ -31,46 +31,96 @@ 消费者组 - - Topic - - - 分区 0 - - - 分区 1 - - - 分区 2 - - 消费者组 A - - - A1 - - - A2 - - - - - 消费者组 B - - - B1 - - - B2 - - - B3 - - - B4 - 空闲 - - - - 同一个组内,每个分区只分配给一个消费者 - 每个组都会收到 Topic 的全部消息 + + Topic + 分区 0 + + + + + + + + + + + + 分区 1 + + + + + + + + + + + + 分区 2 + + + + + + + + + + + + + 消费者组 A + + 消费者组 B + + + + + + + A1 + + + + + + + A2 + + + + + + + B1 + + + + + + + B2 + + + + + + + B3 + + + + + + + B4(空闲) + + + + + + + 同一个组内,每个分区只分配给一个消费者 + 每个组都会收到 Topic 的全部消息;消费者多于分区时,多出的消费者空闲