rocketmq 标签

RocketMQ 设计与理解 置顶! 有更新!

整体架构

rocketmqarchitecture1.png

RocketMQ 主要由 Producer、Broker、Consumer、Name Server 四个部分组成。

其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息,Name server 充当路由消息的提供者。

每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片存储于不同的 Broker。Message Queue 用于存储消息的物理地址,每个Topic中的消息地址存储于多个 Message Queue 中。

image-20210402173106318

Topic

Topic 是一种逻辑上的分区,是同一类消息的集合,每一个消息只能属于一个 Topic ,是RocketMQ进行消息订阅的基本单位。

每个 topic 会被分成很多 Messsage Queue ,和 Kafka 中的 Partition 概念一样,topic 的数据被分布在不同的 Message Queue 中。

在业务增长,消息量增大时,可以增大 topic 的 Message Queue,这样可以将压力分摊到更多的 broker 上。因为 Producer 可以发送消息的时候可以通过指定的算法,将消息均匀的发送到每个 Message Queue。

阅读全文 »