的,MQ的Group(消费组)主要就是标识作用,但标识背后有实际意义。
Group 的作用
1. 负载均衡(最核心)
Topic: order-topic↓消息1 ─→ Group A(消费者1) → 消费消息1消息2 ─→ Group A(消费者2) → 消费消息2消息3 ─→ Group B(消费者3) → 消费消息3消息4 ─→ Group B(消费者4) → 消费消息4
同一Group内:消息负载均衡,一条消息只被一个消费者消费
不同Group间:消息广播,每个组都能消费到
2. 举例说明
| 场景 | Group设置 | 效果 |
|---|---|---|
| 订单系统 | Group A | 所有订单消息被Group A的消费者处理 |
| 库存系统 | Group B | 所有订单消息被Group B的消费者也处理一遍 |
| 日志系统 | Group C | 所有订单消息Group C也要消费 |
3. 实际对应
| MQ产品 | Group叫法 |
|---|---|
| RocketMQ | ConsumerGroup |
| Kafka | Consumer Group |
| JMQ | consumerGroup |
4. 一句话总结
Group = 消费实例分组
- 同组内:竞争消费(一条消息只被一个实例处理)
- 不同组:独立消费(各消费各的)
正文完