是否可以在前端使用 Google Pub/Sub (React)

Mil*_*ilo 1 browser reactjs google-cloud-pubsub

我对不是严格前端的东西还很陌生,因此在阅读了 Google pub/sub 文档并进行了一些搜索后,我不清楚是否可以将它与 react 一起使用。

我的用例是我(假设)一次在我的网页上有成千上万的人,他们需要同时被告知发生了一些外部事件(消息会非常小)。

我知道 Google Firestore 具有侦听器功能,但根据此规范,它不再属于免费层使用范围。我见过允许将 Google Pub/Sub 与 IOT 设备一起使用的库,所以我很困惑为什么我找不到在浏览器中使用它的任何资源。

Kam*_*osn 5

出于多种原因,在前端创建 Cloud Pub/Sub 订阅者将是一种反模式。首先,配额限制每个主题只允许 10,000 个订阅。由于您说您一次在网页上有数万人,因此您将无法为这种情况创建足够的订阅。此外,用户访问网站时创建的订阅将无法收到订阅创建之前的任何通知;Cloud Pub/Sub 仅保证成功创建订阅后发布的消息的传递。最后,您会遇到安全和身份验证问题。为了从客户端启动订阅者,您需要向它传递它可以使用的凭据。如果您为每个网页查看器使用单独的凭据,则必须即时创建这些凭据,并在用户消失时撤销它们。如果您对所有订阅者使用相同的凭据,

总体而言,Cloud Pub/Sub 专为种子使用案例而设计:需要由较少订阅者处理的包含大量数据的提要更少。您正在谈论的是涓流用例:需要在具有单独 ACL 的大量订阅者之间分发的少量消息。Firebase Cloud Messaging是专为后一种情况设计的产品。

虽然 Cloud Pub/Sub 确实适用于Google Cloud IoT,但它用于发布端:许多设备将其事件发送到可由订阅者处理的主题。请注意,这些来自设备的消息不会直接进入 Cloud Pub/Sub;它们通过 Cloud IoT 服务器,该服务器将消息发布到 Cloud Pub/Sub。设备身份验证通过 Cloud IoT 完成,而不是通过 Cloud Pub/Sub 主题的权限完成。向 IoT 设备传递消息不是通过 Cloud Pub/Sub 完成的。