RocketMq消息模型

RocketMq消息模型(专业术语)

初学者可以了解下。
Message

就是要传输的消息,一个消息必须有一个主题,一条消息也可以有一个可选的Tag(标签)和额外的键 值对,可以用来设置一个业务的key,便于开发中在broker服务端查找消息。
Topic
主题,是消息的第一级类型,每条消息都有一个主题,就像信件邮寄的地址一样。主题就是我们具体的 业务,比如一个电商系统可以有订单消息,商品消息,采购消息,交易消息等。Topic和生产者和消费 者的关系非常松散,生产者和Topic可以是1对多,多对1或者多对多,消费者也是这样。
Tag
标签,是消息的第二级类型,可以作为某一类业务下面的二级业务区分,它的主要用途是在消费端的消 息过滤。比如采购消息分为采购创建消息,采购审核消息,采购推送消息,采购入库消息,采购作废消 息等,这些消息是同一Topic和不同的Tag,当消费端只需要采购入库消息时就可以用Tag来实现过滤, 不是采购入库消息的tag就不处理。
Group
组,可分为ProducerGroup生产者组合ConsumerGroup消费者组,一个组可以订阅多个Topic。一般 来说,某一类相同业务的生产者和消费者放在一个组里。
Message Queue
消息队列,一个Topic可以划分成多个消息队列。Topic只是个逻辑上的概念,消息队列是消息的物理管 理单位,当发送消息的时候,Broker会轮询包含该Topic的所有消息队列,然后将消息发出去。有了消 息队列,可以使得消息的存储可以分布式集群化,具有了水平的扩展能力。
offset
是指消息队列中的offset,可以认为就是下标,消息队列可看做数组。offset是java long型,64位,理论上100年不会溢出,所以可以认为消息队列是一个长度无限的数据结构。

猜你喜欢

转载自blog.csdn.net/qq_42918433/article/details/113914536
今日推荐