美文网首页
rocketmq集群消费是否需要分布式锁

rocketmq集群消费是否需要分布式锁

作者: 不存在的bug | 来源:发表于2020-06-17 21:23 被阅读0次

问题:


image.png
//检查是否已经有消费记录(不分是否已经消费)
boolean b = idempotentService.idempotentCheck(idempotent);
if(b){
    //消费消息
    this.handleMessage(t);
    //更新消费记录为已消费状态
    idempotentService.updateExpenseStatusToAlreadyExpense(k.getMsgId());
 }

1.每次消费的时候,某消费组中的消费队列和消费者绑定了关系(确定),那么他再次重试的时候,还是走原来的消费者吗?(不知道,得看源码)

  1. 如果走原来的,那么本地锁就可以满足,如果是投放到其他的消费者或不定,并且,重试的间距很小(一般应该是前一个确认消费或者没有消费才会投递二次吧, 这个问题是,二次重试的条件是什么?是超时时间,还是某种确认机制【消费或未消费。】),如果后一次的消费都需要前一次某种确认机制后才发,那么同一个队列的同一个消息重试并发是不存在的。如果不是某种机制,那么还是需要分布式锁。
    3.如果producer投递了不同的消息到不同的broker,或同样的broker(同一个监听者),那么这个时候会不会出现并发。即使两个消息的msgID都不一样,那么也会重复消费的。所以这种时候是需要分布锁的,或者其他什么锁。

以上所有问题都不确认,待研究完源码再定结论。

相关文章

  • rocketmq集群消费是否需要分布式锁

    问题: 1.每次消费的时候,某消费组中的消费队列和消费者绑定了关系(确定),那么他再次重试的时候,还是走原来的消费...

  • RocketMQ集群消费时队列分配

    RocketMQ集群消费时队列分配 何时需要消息队列 RocketMQ的核心概念 详情见于文档 PushConsu...

  • SpringBoot——整合RocketMQ

    一、RocketMQ 的前世今生 RocketMQ 是阿里巴巴开源的分布式消息系统,基于高可用分布式集群技术,提供...

  • RocketMQ 介绍

    RocketMQ 介绍 RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可...

  • RocketMQ延迟消息的代码实战及原理分析

    RocketMQ简介 RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠、...

  • RocketMQ实现原理吧?

    RocketMQ由NameServer注册中⼼集群、Producer⽣产者集群、Consumer消费者集群和若⼲B...

  • RocketMQ集群模式与广播模式

    RocketMQ 消费者默认是集群的方式消费的,消费者还可以用广播的模式进行消费。 集群模式 当 Consumer...

  • RocketMQ集群消费

    集群消费 广播消费 消费消息时使用的是push还是pull? 为什么要主动拉取消息而不使用事件监听方式? 几种常见...

  • RocketMQ消费模式

    RocketMQ提供两种消费策略CLUSTERING集群消费(默认)和BROADCASTING广播消费,在创建Co...

  • RocketMQ技术详解

    RocketMQ 介绍 消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的...

网友评论

      本文标题:rocketmq集群消费是否需要分布式锁

      本文链接:https://www.haomeiwen.com/subject/ablexktx.html