一、基本概念
-
Producer,消息生产者,负责产生消息,一般由业务系统负责产生消息。
-
Consumer,消息消费者,负责消费消息,一般是后台系统负责异步消费。
-
Push Consumer,Consumer 的一种,应用通常向 Consumer 对象注册一个 Listener 接口,一旦收到消息,Consumer 对象立 刻回调 Listener 接口方法。
-
Pull Consumer,Consumer 的一种,应用通常主动调用 Consumer 的拉消息方法从 Broker 拉消息,主动权由应用控制。
-
Producer Group,一类 Producer 的集合名称,这类 Producer 通常发送一类消息,且发送逻辑一致。
-
Consumer Group,一类 Consumer 的集合名称,这类 Consumer 通常消费一类消息,且消费逻辑一致。
-
Broker,消息中转角色,负责存储消息,转发消息,一般也称为 Server。在 JMS 规范中称为 Provider。
二、相关概念介绍
-
广播消费
consumer group 同一条消息每个consumer 都消费
-
集群消费
consumer group 中只有一个consumer消费
- 普通顺序消息
普通顺序消息在 Broker 重启情况下不会保证消息顺序性
- 严格顺序消息
严格顺序消息即使在异常情况下也会保证消息的顺序性。
RocketMQ不保证消息不重复,如果你的业务需要保证严格的不重复消息,需要你自己在业务端去重。
客户端发送信源码