为什么我不能将 Firebase 本地模拟器套件用作自托管解决方案?

Fre*_*aug 2 self-hosting mongodb firebase firebase-realtime-database google-cloud-firestore

我目前使用 Firebase 作为创建大多数应用程序的解决方案。新客户需要一个在一天中的大部分时间都不会连接到 Internet 的解决方案。

因为我有自己构建的使用 firebase 的 CMS 工具,所以我认为使用 firebase 模拟器是个好主意。但是在阅读文档时,我看到了一条说明

注意:请勿尝试将这些模拟器用作 Firebase 服务的“自托管”版本。它们是为准确性而构建的,而不是性能或安全性,并且不适合在生产中使用。

我找不到谈论为什么这确实是一个问题的文章,有人能看到为什么我的解决方案会出现问题吗?

下面回答的问题,这是我的更新 我决定转移并使用 MongoDB 作为我的本地数据存储解决方案

Sam*_*ern 5

[此处的 Firebaser ] Firebase 模拟器不是为用作 Firebase 的自托管替代品而构建的。它们用于测试。由于以下原因,在生产中使用它们是一个非常糟糕的主意:

  1. 性能- 实时数据库和 Firestore 模拟器没有持久存储层。他们将所有数据保存在内存中。他们根本没有有效的索引或任何复杂的数据库技术。因此,随着您的数据集的增长,它会变慢,如果模拟器崩溃,您可能会丢失所有数据。
  2. 安全性- 这些模拟器故意不安全。例如,两个数据库模拟器将接受任何形状正确的 OAuth 令牌作为管理员凭据,并让该用户执行任何数据库操作。他们还接受未签名的 JWT 作为用户令牌,因此基本上任何拥有 JWT 创建库的人都可以模仿任何其他用户。没有办法保护它们,这是为了便于测试而设计的。
  3. 支持- 如果您尝试在生产中使用它们并遇到问题,我们将不会帮助您。事实上,我们会有点生气,因为我们要求你不要这样做:-)