GCP Pub/Sub,如果已经有一个活跃的订阅,你能在新订阅上重播旧消息吗
GCP Pub/Sub, can you replay old messages on a new Subscription if there is already an active Subscription
在 GCP 中 Pub/Sub 我有一个主题和一个订阅 1,并开始发布消息。
我可以添加另一个订阅 Subscription2,我可以重播在创建 Subscription2 之前发布的旧消息,它允许吗? (卡夫卡允许)
我什么时候会失去对消息的访问权限(在保留期内)?删除所有订阅?保持至少一个活动订阅将允许 PubSub 添加新订阅并重播旧消息?
我还可以将该主题的保留期延长至 7 天以上吗?
编辑:消息将保存到数据库,但我对 pub/sub 架构更感兴趣
发布到主题的消息仅供 在这些消息发布之前进行的订阅。如果您在下午 1 点发布消息并在下午 2 点订阅,则该订阅不可能在下午 2 点之前发布的任何消息可用。
我认为 Pub/Sub 是一种传输和交付技术,而不是将其视为存储库。如果您认为您可能需要在订阅之前发布的消息,请考虑一种设计模式,您可以在其中添加一个特殊的订阅者,该订阅者接收每条发布的消息并将其插入数据存储以供后续检索。
如果您现在发现需要历史消息,则可以在该商店查询历史项目,同时订阅随后将到达的新项目。
基于 Subscription1 存在的事实,依赖能够重播 Subscription2 中的消息是不好的。在 Subscription2 存在之前发布的消息不提供任何保证。唯一的例外是,如果您要在 Subscription1 上捕获快照,然后在 Subscription2 上寻找该快照,那么您会看到在 Subscription2 存在之前发布的消息。但是,您只会看到不早于 7 天的消息。因此,如果快照超过 7 天,您将看不到更早的消息。
无法将保留期延长到 7 天以上。总的来说,Kolban 的评估符合 Cloud Pub/Sub 的目标:它是一种可靠的消息传输服务。消息保留的目标是确保如果订阅者在一段时间内关闭,他们将在恢复时收到当时发送的消息。 snapshot 和 seek 也是如此:这些对于从订阅者的错误部署中恢复的情况特别有用,订阅者可能已经确认了它不应该有的消息。使用搜索允许重播这些消息,以便在订阅者固定后可以正确处理它们。
在 GCP 中 Pub/Sub 我有一个主题和一个订阅 1,并开始发布消息。
我可以添加另一个订阅 Subscription2,我可以重播在创建 Subscription2 之前发布的旧消息,它允许吗? (卡夫卡允许)
我什么时候会失去对消息的访问权限(在保留期内)?删除所有订阅?保持至少一个活动订阅将允许 PubSub 添加新订阅并重播旧消息?
我还可以将该主题的保留期延长至 7 天以上吗?
编辑:消息将保存到数据库,但我对 pub/sub 架构更感兴趣
发布到主题的消息仅供 在这些消息发布之前进行的订阅。如果您在下午 1 点发布消息并在下午 2 点订阅,则该订阅不可能在下午 2 点之前发布的任何消息可用。
我认为 Pub/Sub 是一种传输和交付技术,而不是将其视为存储库。如果您认为您可能需要在订阅之前发布的消息,请考虑一种设计模式,您可以在其中添加一个特殊的订阅者,该订阅者接收每条发布的消息并将其插入数据存储以供后续检索。
如果您现在发现需要历史消息,则可以在该商店查询历史项目,同时订阅随后将到达的新项目。
基于 Subscription1 存在的事实,依赖能够重播 Subscription2 中的消息是不好的。在 Subscription2 存在之前发布的消息不提供任何保证。唯一的例外是,如果您要在 Subscription1 上捕获快照,然后在 Subscription2 上寻找该快照,那么您会看到在 Subscription2 存在之前发布的消息。但是,您只会看到不早于 7 天的消息。因此,如果快照超过 7 天,您将看不到更早的消息。
无法将保留期延长到 7 天以上。总的来说,Kolban 的评估符合 Cloud Pub/Sub 的目标:它是一种可靠的消息传输服务。消息保留的目标是确保如果订阅者在一段时间内关闭,他们将在恢复时收到当时发送的消息。 snapshot 和 seek 也是如此:这些对于从订阅者的错误部署中恢复的情况特别有用,订阅者可能已经确认了它不应该有的消息。使用搜索允许重播这些消息,以便在订阅者固定后可以正确处理它们。