有没有一种方法可以在Apache Beam作业中使用同步拉取来消费Google PubSub消息



我已经在下面的文档中浏览了谷歌提供的客户端库。给定的客户端库只是轮询来自PubSub的消息,但在我们创建Unbounded Source Connector之前,它不会连续轮询。https://cloud.google.com/pubsub/docs/pull#synchronous_pull

由于我试图构建的源连接器是Unbounded source,因此我需要处理Checkpoint Marker,实现PubSub阅读器,PubSub拆分源并实现ACK和NACK逻辑,我相信创建我自己的Unbounded源连接器需要大量时间。目前PubSubIO(BeamApi(只支持异步拉取。那么,有没有什么方法可以让我在ApacheBeam提供的PubSubIOapi之上实现ACKn-NACK逻辑逻辑呢。是否有任何一种已经开发的api更适合这种用例。

使用同步拉取,您可以确认预期消息,并在任何解析失败的情况下NACK所使用的消息。

您期望的功能不存在,也不应该存在。

当前行为,异步拉取,获取消息,一旦消息被持久化(在管道中的工作者或接收器中,两者中的第一个(,消息就是ACK。

在您的情况下,您希望根据管道处理手动确认消息。但是,您使用PubSub确认消息的时间限制为10分钟。想象一下,如果您构建一个窗口为15分钟(或更长时间(的管道。您需要等待窗口处理结束后才能确认消息;不可能的

在您的情况下,正确的设计是管理您的管道中的错误。

相关内容

  • 没有找到相关文章

最新更新