RocketMQ 核心概念
Producer
消息生产者,将业务系统生成的消息发送给消息代理(Broker),RocketMQ 提供了多种发送消息的模式:同步(synchronous)、异步(asynchronous)和单向(one-way)。
Producer Group
消息生产者组,具有相同角色的消息生产者组合在一起,相同角色可以理解为生产同一类消息。
Consumer
消息消费者,从消息代理(Broker)获取消息并将其提供给应用程序。又可以根据消息获取方式分为:
(1) Pull Consumer
积极主动地从消息代理(Broker)中拉取消息,一旦批量消息被拉出,用户应用便启动消息。
(2) Push Consumer
将拉动消息、消费进度和其它维护工作封装起来,留下一个回调接口给最终用户实现,这个接口在消息到达时会被执行。
Consumer Group
消息消费者组,同消息生产者组类似,将具有相同角色的消息消费者组合在一起,相同角色可以理解为消费同一类消息。
Topic
Topic 是消息的逻辑分类。
Message
Message 是发送的信息载体,Message 必须指定 Topic,可以类比信件地址。Message 有一个可选的 Tag 设置便于过滤消息,还可以添加额外的键值对。
Message Queue
Topic 会被分为一个或多个 Message Queue
Tag
Tag 是 Topic 的进一步细分,为用户提供额外的灵活性。同一业务不同目的的消息可以拥有相同的 Topic 和不同的 Tag。
Broker
Broker 是 RocketMQ 系统主要组件,接收来自消息生产者的消息,存储这些消息并为消息消费者拉动这些消息做准备,也存储消息相关元数据。
Name Server
Name Server 为消息生产者和消费者提供路由信息。
Message Model
消息模型:集群(Clustering)和广播(Broadcasting)
Message Order
消息顺序:顺序(Orderly)和并发(Concurrently)