1) 获取数据 2) 订阅更新。使用 pub sub 时如何不丢失 1 和 2 之间发生的更新?

Posted

技术标签:

【中文标题】1) 获取数据 2) 订阅更新。使用 pub sub 时如何不丢失 1 和 2 之间发生的更新?【英文标题】:1) fetch data 2) subscribe to updates. How to not lose updates occuring between 1 and 2 when using pubsub? 【发布时间】:2014-10-22 17:33:15 【问题描述】:

例如,假设我有一个由数据库支持的单页注册列表 Web 应用程序,其中 SIGN_UPS 表具有 NAME(字符串)和 CREATED_AT(时间戳)列。该页面仅显示名称列表,尽可能与数据库同步。

    在加载时,它会获取现有的名称列表

    通过 websocket,它订阅在添加/删除名称时收到通知。

有没有办法让这种模式起作用?也许这个问题有一个通用名称,但我不知道,因为我是 Web 开发的新手。 (所以很难找到)

到目前为止我想出的唯一解决方案是颠倒顺序...先订阅然后获取,从获取中删除通过 pubsub 检索的结果(可能利用时间戳列来限制 SELECT) .如果这实际上是要走的路,是否有一种典型的方法可以在我使用的实际平台上实现它(例如,基于时间戳的东西,所以会收到预连接消息)? Ruby on Rails + websocket-rails + redis

【问题讨论】:

【参考方案1】:

您可以有一个名为“获取和订阅”的操作,其中请求者获取数据并自动订阅更改。称为隐式订阅。

【讨论】:

以上是关于1) 获取数据 2) 订阅更新。使用 pub sub 时如何不丢失 1 和 2 之间发生的更新?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用服务帐户订阅 google pub 子主题

Google Cloud Pub/Sub 获取或创建订阅

如何使用当前的 pubsub 订阅者从 google Pub/Sub 系统获取消息

redis之pub/sub(发布与订阅)

获取公共 graphql 订阅的所有订阅者的列表

如何通过 Google Cloud Monitoring JAVA 客户端库获取 Pub/Sub 订阅中未确认消息的数量