何时使用 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 数据库,适用于移动设备(android、ios)和其他可以通过原生 SDK 直接访问的网络应用程序。它可以支持多种数据类型,从简单的字符串到复杂的对象。它还支持最适合您的应用的任何数据结构。
最好为您的应用使用 Firestore,因为它提供实时更新。
您可以查看Pub/Sub和Firestore的详细文档。
对于 Firestore,您可以使用 mobile/web client library 或 server client library。
这是Firestore 的链接,其中包含其优点和主要功能。
【讨论】:
以上是关于何时使用 Firestore 与 Pub/Sub的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 检测视图何时不可见(有点视图会消失)并停止发布者
有没有办法将 GeoFire 与 Firestore 一起使用?