gpt4 book ai didi

java - 订购 Google Cloud Pub/Sub 消息 - java 示例程序

转载 作者:行者123 更新时间:2023-12-02 09:30:04 26 4
gpt4 key购买 nike

我正在尝试编写一个简单的消费者 Java 程序,该程序使用来自 Google Cloud Pub/Sub 的消息并对消息进行重复数据删除和排序。

我找不到一个简单的示例程序可以做到这一点。我读过谷歌文档,他们建议用户使用 Apache Beam。但是我不熟悉 Apache Beam,我想要一个基本的示例程序来演示此功能。只获取比较器并知道删除重复消息并按属性排序消息的东西。

有人可以提供这样的示例java程序吗?

最佳答案

如果什么都不存在,那是因为它“真正”不可能。

第一,询问 "When Pubsub generate double values?" 很有用。 。仅当消息已发送但未收到确认(或在预期时间范围内未收到确认,默认情况下为 10 秒),或者在推送模式下未收到 HTTP 200 时。

第二:什么是Beam? Beam 是一个管道引擎。您可以将 PubSub 插入其中并 您的管道将读取消息并对它们进行重复数据删除。请注意,Beam 会在 10 到 20 分钟的时间内执行重复数据删除。

第三:“订购”是什么意思?查看您的消息 ID。该值是一个时间戳,以微秒为单位(这就是 PubSub 每秒最多可以摄取 1M 消息的原因)。有序消息意味着有一条消息具有连续的 ID,否则放入缓冲区并等待填充间隙。当然,空白永远不会被填补......

返回 Beam。 Beam 能够定义 windows of observation 。顺便说一下,您可以定义例如 5 分钟的滑动窗口,每个窗口每分钟开始。当窗口关闭时,会触发消息的 PCollection 并将其处理到管道中。在这个有限的集合中,您可以订购您的消息。

同样的原理,您可以手动删除此集合中的 depublicates。

最后一条信息,PubSub 是 Google 服务的支柱。它发展缓慢,因为它很关键。但是,也许你的需求有一天就会发布!

关于java - 订购 Google Cloud Pub/Sub 消息 - java 示例程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58059745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com