PubSub流拉入nack与无确认行为 [英] pubsub streaming pull nack vs no acknowledge behaviour

查看:0
本文介绍了PubSub流拉入nack与无确认行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

nack()具有以下行为

Nack() "拒绝承认给定的消息。" 这将导致邮件被重新传递到订阅。

现在在流拉取中,我正在拉取taxiride streaming data测试的行为。

使用NACK() 流拉入继续接收以前被NACK的邮件()

nack()或ack() 流媒体读取最初的一串消息,并等待很长时间。我等了差不多15分钟,但没有收到任何新消息。

现在我的问题是,在流拉入中,当消息既不是ack()也不是nack()时,处理这些消息的预期行为和正确方式是什么? 假设我想要将每分钟的积压消息计数为处理要求?

推荐答案

当消息既未被确认也未被确认时,云发布/订阅客户端库最多为maxAckExtensionPeriod维护该消息的租约。一旦该时间段过去,消息将被截获并重新传递。在既不是ACK也不是NACK的情况下没有收到更多消息的原因很可能是因为您遇到了flowControlSettings中指定的值,该值限制了未完成且尚未确认或NACK的消息的数量。

它通常是对ACK或NACK消息的反模式。如果您成功处理了该消息,则应确认它。如果您无法处理它(假设发生了某种类型的暂时性异常),那么您应该对其进行nack。尝试在不执行这些操作的情况下接收消息并不是统计积压中的消息数量的有效方法。

这篇关于PubSub流拉入nack与无确认行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆