RocketMQ 基本概念

Topic 主题

表示一类消息的集合,每个主题包含若干条消息,每个消息只能属于一个主题

Tag 标签

为消息设置的标志,用于区分同一个 Topic 下的不同类型的消息。来自同一业务单元的消息,可以根据不同目的设置不同的 tag 标签

Message Model 消息模型

RocketMQ 主要有 Producer、Consumer、Broker、NameSrv 组成。Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。每个 Topic 下的消息实际存储在 CommitLog 文件中(最大 1G,默认3天后凌晨 4 点删除),而 Consumer 在消费过程中,是从对应存储消息所在 commit log 的索引位置 MessageQueue 队列中读取,Topic 的 MessageQueue 可以分片到不同的 Broker 中

Producer 生产者

负责生产消息,由业务系统负责生产消息。RocketMQ 提供了: 同步、异步、单向(one way)、顺序(order)等几种发送消息的方式

Producer Group 生产者组

同一类Producer的集合,这类Producer发送同一类消息且发送逻辑一致。如果发送的是事物消息且原始生产者在发送之后崩溃,则Broker服务器会联系同一生产者组的其他生产者实例以提交或回溯消费。

Pull Consumer 拉取式消费者

Consumer消费的一种类型,应用通常主动调用Consumer的拉消息方法从Broker服务器拉消息、主动权由应用控制。一旦获取了批量消息,应用就会启动消费过程。

Push Consumer 推动式消费者

Consumer消费的一种类型,该模式下Broker收到数据后会主动推送给消费端,该消费模式一般实时性较高。

Consumer Group 消费者组

同一类 Consumer的集合,需要订阅相同的 Topic。在同一组内通过增加 Consumer 的数量可以根据策略实现消息消费的负载均衡,提高消息消费性能

Clustering 集群消费

相同 Consumer group 下的每个 consumer 实例平摊消费所订阅的 Topic 的消息

Broadcast 广播消费

相同 Consumer group 下的每个 consumer 实例全量消费所订阅的 Topic 的消息

Message 消息

消息系统所传输数据的载体,生产、消费数据的最小单元,每条消息必须属于一个主题,RocketMQ中每个消息拥有唯一的Message ID,且可以携带具有业务标识的Key

Normal Ordered Message 普通顺序消息

普通顺序消费模式下,同一个 MessageQueue 消费队列中的消息是有序的。不同MessageQueue 消费队列中的可能是无序的。

Broker Server 代理服务器

消息中转角色,负责存储消息、转发消息。代理服务器在RocketMQ系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。

Name Server 名字服务

名称服务充当路由消息的提供者。生产者或消费者能够通过名字服务查找各主题相应的Broker IP列表。多个Namesrv实例组成集群,但相互独立,没有信息交换。

你可能感兴趣的:(RocketMQ 基本概念)