消息队列架构和原理

本文详细介绍了消息队列的架构和原理,包括RabbitMQ的Exchange配置,RocketMQ的主题与队列,以及Kafka的分区与消费组。强调了消费组的作用在于区分不同订阅,确保消费互不影响,而队列数量决定了并行消费的性能。同时提到了Kafka的offset管理和分片索引机制。
摘要由CSDN通过智能技术生成

https://www.cnblogs.com/cyfonly/p/5954614.html

RabbitMQ
通过Exchange配置可以决定将消息投递到哪些队列中,也可以配置将消息发送到多个队列,达到一份消息数据被多个订阅者来多次消费
RocketMQ
每个主题(topic)包含多个队列,通过队列来实现多实例并行生产和消费,从而保证在队列上的消息有序性,主题层面是无法保证的;订阅者通过消费组来体现,每个消费组都消费主题中完整的一条消息,不同组之间消费互不影响,但是同一组内的消费者是竞争关系,一条消息被一个消费者消费后,就不能被另一个消费者消费

在这里插入图片描述
kafka 内对于rocketMQ中队列的说法是分区partition

消费者组是根据业务,队列数量根据数据量和消费速度来配置,rocketMQ和kafka都支持水平扩容队列数量

生产者的每条消息只会发送到一个topic的一个消息队列里,对于一个消费组,每个队列上只能串行消费,多个队列加一起就是并行消费了,并行度就是队列数量,队列数量越多并行度越大,所以水平扩展可以提升消费性能。

每队列每消费组维护一个消费位置(offset),记录这个消费组在这个队列上消费到哪儿了。consumer和queue不是强关联的,但是在任何一个时刻,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值