firebase - 关于扩展 Firebase 后端的问题

标签 firebase google-cloud-firestore google-cloud-functions scalability

我正在后端系统上开始开发。它将支持跨平台移动应用程序。后端有很多功能,这促使我将后端划分为 8 个服务(部署为 Cloud Functions)并作为客户端的 REST API 公开。每个已部署的函数都将使用 firestore,并将严格查询与该特定服务相关的集合。严格禁止通过 HTTP 进行服务间通信,所有此类通信都仅限于云消息传递。

现在,我最近被告知 Firebase 将成为一个“瓶颈”,无法处理缩放问题。我非常有信心扩展不会成为问题,因为扩展服务仅意味着增加已部署函数实例的数量。数据库(Firestore)也是如此。从一般的角度来看,我可以肯定地说 Firebase 将是可扩展的吗?我知道有很多挑战,这是一个广泛的问题。然而,当我在 VPS 上进行自己的设置时,这些挑战甚至会存在。因此,澄清我的问题:从后端的角度来看,有许多服务开发为 REST API。 Firebase 是一个可扩展的选项吗?任何建议、引用或指南将不胜感激。

最佳答案

您要问的并不是关于“Firebase”(这是一个移动应用程序开发平台),而是关于 Cloud Functions,它是一种可扩展的无服务器 Google Cloud 产品。 Firebase 只是在核心 Cloud Functions 产品之上添加了工具和 API。否则,由 Firebase CLI 部署的代码的行为与使用 Google Cloud 工具部署它的行为完全相同。在 this article 中阅读更多关于 Firebase 和谷歌云在云功能方面的关系。 .

同样是谷歌云产品的Firestore也是如此。它可以大规模扩展,您可以阅读它的 known limitations .阅读 similar blog关于 Firebase 和 Google Cloud 在 Firestore 方面的区别。

有大量关于 Cloud Functions 如何扩展的文档。对于 HTTP 类型的函数,您的限制基于您从函数实例中发送的数据量。您可以在 Cloud documentation 中阅读有关限制的信息.实际上,我从来没有听说过有人超过了 Cloud Functions 的限制来完成它打算做的工作(也就是说,工作时间限制在最大可配置的 9 分钟限制,内存限制正在使用的机器类别)。

同样,这些都与 Firebase 或其任何其他许多产品无关。您只需要了解您要使用的各个产品的行为,这两个产品都是 Google Cloud 产品。

无论谁告诉您使用“Firebase”进行扩展时遇到问题,都可能指的是产品 Firebase 实时数据库,如果您想大规模扩展,它确实有需要使用分片的限制。 Firestore 没有该限制 - 您无需执行任何操作即可扩展它。

关于firebase - 关于扩展 Firebase 后端的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60274753/

相关文章:

google-cloud-platform - 为什么错误报告仪表板中未报告云函数错误?

firebase - 在 Firestore 中为文档 ID 自定义对象建模的最佳方法是什么?

android - db.collection().document().get() 从不返回 null

go - 云函数部署时间

firebase - 如何从firebase函数中的firebase存储获取图像的尺寸?

firebase - 在 Flutter 中收听 Firestore 集合及其子集合

google-cloud-platform - (gcloud.functions.deploy) 无法识别的参数 : --runtime did you mean --timeout

android - 处理 Android 系统托盘中已关闭的 Firebase 通知

ios - Swift:如何对数组中结构的子值使用 UISearchResultsUpdating?

firebase - 如何从Firebase存储中获取图像链接