1.Producer:消息生产者,负责生产消息,一般由业务系统负责生产消息
2.Consumer:消息消费者,负责消费消息,一般由后台系统负责异步消费
3.Push Consumer:Consumer的一种,需要向Consumer注册监听
- 相当于Consumer注册一个监听器去监听Producer发送的消息(MQ主动推)
4.Pull Consumer:Consumer的一种,需要主动请求Broker拉起消息
- 主要是想Broker主动发起请求,然后去Broker端进行消息的拉去,然后进行消费(我主动拉)
5.Producer Group:生产者集合,一般用于发送一类消息
- Producer Group 是一组具有相同功能或目的的生产者实例的集合。这些生产者实例共同负责发送同一类别的消息到 RocketMQ 中。
- Producer Group 的作用是确保同一类消息的发送者能够协同工作,实现消息的高效发送。通过指定 Producer Group,可以对发送同一类消息的多个生产者实例进行管理和监控
6.Consumer Group:消费者集合,主要用于接受一类消息进行消费
- Consumer Group 是一组消费者实例的集合,这些消费者实例共同消费同一类别的消息。每个消费者实例在 Consumer Group 中代表一个消费者。
- Consumer Group 的作用是实现消息的负载均衡和容错处理。多个消费者实例可以共同消费同一类消息,以提高消息的处理效率和系统的可靠性。
- 作用是在集群HA的情况下,一个生产者down之后,本地事务回滚后,可以继续联系该组下的另外一个生产者实例,不至于导致业务走不下去。在消费者组中,可以实现消息消费的负载均衡和消息容错目标。
- 另外,有了GroupName,在集群下,动态扩展容量很方便。只需要在新加的机器中,配置相同的GroupName。启动后,就立即能加入到所在的群组中,参与消息生产或消费。
7.Broker:MQ消息服务(中转角色,用于消息存储与生产消费转发)
注:对这几个概念模型有个简单的认知,方便我们后续代码操作