Pulsar:如果一条消息被 nack'd (negativeAcknowledge()) 啥时候重新发送?
Posted
技术标签:
【中文标题】Pulsar:如果一条消息被 nack\'d (negativeAcknowledge()) 啥时候重新发送?【英文标题】:Pulsar: If a message gets nack'd (negativeAcknowledge()) when will it be redelivered?Pulsar:如果一条消息被 nack'd (negativeAcknowledge()) 什么时候重新发送? 【发布时间】:2021-12-04 00:18:00 【问题描述】:如果我们无法处理消息(可能是由于某些时间问题或竞争条件)并且我们调用
consumer.negativeAcknowledge(messageId);
什么时候重新交付以重试处理?
我无法从文档中弄清楚交付的默认设置是什么
https://pulsar.apache.org/docs/en/concepts-messaging/#negative-acknowledgement https://pulsar.apache.org/docs/en/concepts-messaging/#acknowledgement-timeout https://pulsar.apache.org/docs/en/reference-configuration/【问题讨论】:
【参考方案1】:默认值为 60 秒。 您可以在消费者中配置它:
Consumer<byte[]> consumer = client.newConsumer()
.topic("my-topic")
.subscriptionName("my-sub")
.negativeAckRedelivery(10, TimeUnit.SECONDS)
.subscribe()
【讨论】:
以上是关于Pulsar:如果一条消息被 nack'd (negativeAcknowledge()) 啥时候重新发送?的主要内容,如果未能解决你的问题,请参考以下文章
被视为代替Kafka的消息队列:Apache Pulsar设计简介