diff --git a/notes/pics/consumer-group.png b/notes/pics/consumer-group.png
new file mode 100644
index 00000000..2041c12c
Binary files /dev/null and b/notes/pics/consumer-group.png differ
diff --git a/notes/消息队列.md b/notes/消息队列.md
index 5e5779d0..1e082281 100644
--- a/notes/消息队列.md
+++ b/notes/消息队列.md
@@ -34,6 +34,8 @@
Kafka、RocketMQ 等通过消费者组把两种模型结合起来:一条消息会发送给每个订阅它的消费者组,但在一个消费者组内只会被一个消费者消费。
+
+
发布与订阅模式和观察者模式有以下不同:
- 观察者模式中,观察者和主题都知道对方的存在;而在发布与订阅模式中,生产者与消费者不知道对方的存在,它们之间通过频道进行通信。
diff --git a/tools/diagram/src/consumer-group.svg b/tools/diagram/src/consumer-group.svg
new file mode 100644
index 00000000..75d75b7c
--- /dev/null
+++ b/tools/diagram/src/consumer-group.svg
@@ -0,0 +1,76 @@
+