RocketMQ的存储设计
Message
Message是Rocket中很重要的组成部分,也就是消息本身。Message中有messageId,messageKey。message和Topic是多对一的关系,一个主题下边可以有多个消息。
Topic
Topic中有tags
和subTopics
。每条消息都有对应的Topic,一个Topic下会有多个消息。生产者生产消息的时候会指定Topic,消费者读取消息的时候,会获取指定Topic的消息。
Group
Group,一般会有生产者分组,消费者分组,一个Group可以消费多个Topic,一个Topic也可以被多个Group消费。一般同一个分组的消费者拥有同样的消费行为。
Queue
Queue是队列,也就是存储尚未消费的消息的地方,一般会设置多个,所以一个Topic下边一般会有多个Queue
Offset
Offset是消息偏移量。
消息存储结构
RocketMQ是高可用的,也是因为其对消息等数据进行了持久化存储,对应的存储文件如下所示。