关于扩展 Firebase 后端的问题

On the issues of scaling Firebase Backend

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

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

您问的并不是真正关于 "Firebase"(这是一个移动应用程序开发平台),而是关于 Cloud Functions,它是一种可扩展的无服务器 Google 云产品。 Firebase 只是在核心 Cloud Functions 产品之上添加了工具和 API。否则,Firebase CLI 部署的代码的行为与使用 Google 云工具部署的代码完全相同。在 this article.

中详细了解 Firebase 与 Google Cloud 在云功能方面的关系

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

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

同样,none 这与 Firebase 或其任何其他许多产品有关。您只需要了解您要使用的各个产品的行为,它们都是 Google 云产品。

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