gpt4 book ai didi

google-cloud-pubsub - Google Pub/Sub 的目的是什么?

转载 作者:行者123 更新时间:2023-12-04 03:16:10 24 4
gpt4 key购买 nike

所以我正在考虑使用谷歌的 Pub/Sub 服务来处理队列,但通过反复试验,我得出的结论是,我不知道它在实际应用中的用处。

谷歌说这是

A global service for real-time and reliable messaging and streaming data



但它的工作方式对我来说真的很奇怪。它最多保留 7 天的确认消息,如果订阅者重新订阅,即使它已经确认了它们,它也会获得过去 7 天的所有消息,确认的消息很可能会再次发送给已经确认它们的同一个订阅者,并且也没有先进先出。

所以我真的不明白应该如何使用这个服务,如果它唯一保证的是一条消息将至少传递给任何订阅者一次。这不能用于幂等操作,每个订阅者都必须存储有关已确认的所有消息的信息,以便它不会多次处理消息等等......

最佳答案

Google Cloud Pub/Sub 有许多不同的应用程序,其中解耦系统需要发送和接收消息。 overview page提供了许多用例,包括平衡工作负载、日志记录和事件通知。确实,Google Cloud Pub/Sub 当前不提供任何 FIFO 保证并且消息可以重新传送。

然而,递送保证“至少一次”的事实不应被视为意味着当订阅者重新订阅时重新递送确认的消息。重新传送已确认的消息是一种罕见的事件。这通常仅在 ack 由于网络问题、机器故障或其他一些异常情况而没有完全返回服务时发生。虽然这意味着应用程序确实需要能够处理这种情况,但这并不意味着它会经常发生。

对于不同的应用程序,消息重新传递时发生的情况可能不同。在概述页面中提到的缓存失效等情况下,获取两个事件以使缓存中的条目失效仅意味着必须额外重新加载该值,因此不存在正确性问题。

在其他情况下,例如跟踪按钮点击或网站上的其他事件以用于日志记录或统计目的,不频繁的确认消息重新传递可能不会以显着的方式影响收集的信息,因此不必费心检查事件是否重复就可以了。

对于有必要确保消息只处理一次的情况,则必须在订阅者端进行某种跟踪以确保是这种情况。订阅者可能已经在访问和更新底层数据库以响应消息,并且可以通过该存储检测到重复事件。

关于google-cloud-pubsub - Google Pub/Sub 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40827341/

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