何时使用 Firestore 与 Pub/Sub

Posted

技术标签:

【中文标题】何时使用 Firestore 与 Pub/Sub【英文标题】:When to use Firestore vs Pub/Sub 【发布时间】:2021-11-19 06:48:22 【问题描述】:

您能否详细说明 Pub/Sub 和 Firestore 之间的区别,并提供一些场景或用例供您选择?

我不确定该使用哪一个来为送餐服务构建应用程序,该应用程序服务的实时更新在添加或更改到数据库时立即反映,确保客户和司机知道何时送餐准备好取货,当食物正在运送到最终目的地(例如 UberEats)时。

【问题讨论】:

Cloud Firestore 将是这两种解决方案中的最佳选择。 Codelabs 可能有一些与您的用例相符的示例firebase.google.com/codelabs/firestore-web#0 【参考方案1】:

区别很简单:

Firestore (RealtimeDB) 用于后端到前端(客户/用户)的通信和实时更新 Pubsub 是用于异步处理的后端到后端消息总线。

在您的用例中,您不会使用 PubSub 向您的用户发送通知!使用 realtimeDB 执行这些更新。

【讨论】:

感谢您的回复!【参考方案2】:

Pub/Sub 就像一个通知系统,当添加、更改或删除某些内容时,您会在其中收到更新。

另一方面,Firestore 是一个 NoSQL 数据库,适用于移动设备(androidios)和其他可以通过原生 SDK 直接访问的网络应用程序。它可以支持多种数据类型,从简单的字符串到复杂的对象。它还支持最适合您的应用的任何数据结构。

最好为您的应用使用 Firestore,因为它提供实时更新。

您可以查看Pub/Sub和Firestore的详细文档。

对于 Firestore,您可以使用 mobile/web client library 或 server client library。

这是Firestore 的链接,其中包含其优点和主要功能。

【讨论】:

以上是关于何时使用 Firestore 与 Pub/Sub的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 检测视图何时不可见(有点视图会消失)并停止发布者

如何在集合中更改时知道在firestore中?

Firestore:加入与 Firestore 定价

有没有办法将 GeoFire 与 Firestore 一起使用?

Cloud Storage 是不是与 Firestore 同步离线工作

哪个反应钩子与firestore onsnapshot一起使用?