Spring Cloud下 RocketMQ 设置一下PROPERTY_DELAY_TIME_LEVEL没有作用

Rocketmq 消费者默认是集群的方式消费的消费者还可以用广播的模式进行消费。广播模式消费就是所有订阅同一个主题的消费者都会收到消息代码实现上其实很简单,就是在消费端添加

// 批量消费,每次拉取10条 // 如果非第一次启动那么按照上次消费的位置继续消费
}

RocketMQ 支持发送延迟消息但不支持任意时间的延迟消息的设置一下,仅支持内置预设值的延迟时间间隔的延迟消息

在消息创建的时候,调用 setDelayTimeLevel(int level) 方法设置一下延迟时间broker在接收箌延迟消息的时候会把对应延迟级别的消息先存储到对应的延迟队列中,等延迟消息时间到达时会把消息重新存储到对应的topic的queue里面。

用戶只需要设置一下延迟级别然后通过 delayLevelTable 就知道该级别对应的延迟时间是多少。

// 为每一个延迟级别设置一下一个定时任务处理消息的投递

从這里看出如果是延迟消息,则 TagCode 中存储的是消息需要投递到正在消息队列的时间而不是 Tag 的 hashcode 。

  • 用过rocketmq的童靴们肯定知道它的延迟消息的时間不是任意时间片,而是仅支持18个固定的时间段默认的配置是...

  • 在rocketMq的消息体系中,很重要的一个消息体系是延迟消息以前需要定时去实現的任务现在有rocketMq自身...

  • 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能...

  • 消息队列已经逐渐成为企业IT系统内部通信的核心手段它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能...

}

我要回帖

更多关于 设置一下 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信