开发者社区 > 云原生 > 云消息队列 > 正文

我想从最新的消息开始消费。使用的RocketMQ集群模式。这个该怎么做到呢?

我想从最新的消息开始消费。使用的RocketMQ集群模式。这个该怎么做到呢?

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-18 07:57:35 186 0
3 条回答
写回答
取消 提交回答
  • 在RocketMQ中,你可以通过设置消费者的消费起始位置来实现从最新的消息开始消费。你可以使用DefaultMQPushConsumer的setConsumeFromWhere API来实现这一点。这个API有三个参数选项:CONSUME_FROM_MAX_OFFSET,CONSUME_FROM_FIRST_OFFSET和CONSUME_FROM_TIMESTAMP。

    • CONSUME_FROM_MAX_OFFSET:消费者将从消费队列最大的偏移量开始消费,也就是说,它将从最新的消息开始消费。
    • CONSUME_FROM_FIRST_OFFSET:消费者将从消费队列最小偏移量开始消费。
    • CONSUME_FROM_TIMESTAMP:消费者将从一个指定的时间戳开始消费消息,这个时间戳默认为消费者启动之前的30分钟处。
    2023-10-21 17:52:51
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在RocketMQ中,可以通过设置消费者的消息消费模式,来从最新的消息开始消费。在集群模式下,可以通过设置消费者的“消费模式”参数,来实现从最新的消息开始消费。具体可以参考以下步骤:

    1. 创建一个消费者实例,设置消费者的“消费模式”参数为“latest”,表示从最新的消息开始消费。
    2. 将消费者实例注册到RocketMQ的集群中。
    3. 在每个RocketMQ实例中,启动消费者,使用“latest”消费模式消费消息。
    2023-10-18 13:56:57
    赞同 展开评论 打赏
  • 在RocketMQ中,要做到从最新的消息开始消费,需要将Consumer的消费策略设置为CONSUME_FROM_LAST_OFFSET。

    RocketMQ集群消费模式:

    一个ConsumerGroup中的Consumer实例根据队列分配策略算法为Consumer分配队列,平均分摊(默认)消费消息。
    一个消费队列会分配一个消费者,有且只有一个;一个消费者可能消费0到多个队列。
    当某个消费实例不能正常提供服务后,所涉及的消息队列会自动派送给其他消费实例,会按照故障实例的消费进度继续消费。
    broker上的消费进度并不会实时更新,消费实例会定时将消费的进度同步到broker上。
    重复消息的情况是存在的。

    2023-10-18 09:48:17
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载