由于达到 Firestore 限制而扩大规模时
Posted
技术标签:
【中文标题】由于达到 Firestore 限制而扩大规模时【英文标题】:When scaling up due to hitting the Firestore limit 【发布时间】:2021-11-15 11:36:25 【问题描述】:根据 Google Firebase 文档,Firestore 将支持多达 1,000,000 个同时连接和每个数据库每秒 10,000 次写入。
我知道这很遥远,但是如果那个时候来了怎么办?我一直很好奇
是否可以在 Google Cloud 上进一步扩展?超出这些限制?
【问题讨论】:
【参考方案1】:正如文档中所述:
Cloud Firestore 不会阻止您超过此软限制,但这样做会极大地影响延迟和错误率。
您可以做的比soft limits
更多,但这会影响数据库性能。如果您的应用程序遇到一些峰值,这是有道理的。您可以通过此link 了解有关限制的更多信息。
如果您的应用在恒定的时间跨度内需要这样的容量,您可以为每个区域或其他分组标准创建多个项目。您可以在同一个应用中初始化多个 Firebase 项目以使用它们。
如果您使用实时数据库,您甚至可以在一个项目中创建多个。不幸的是,Firestore 不支持单个项目中的多个数据库。
当涉及到如此大量的连接时,您是否应该扩展 Firebase 的使用,甚至迁移到具有更大可扩展性的另一个 GCP 解决方案(或其他提供商),很大程度上取决于不同的用例。
关于每秒 10,000 次写入的限制,您可以参考此 *** answer,它解释了如果您认为每秒可能产生比 Firestore 允许的更多持续写入,您必须做什么
【讨论】:
据我了解,如果规模真的扩大,有两种方法,一种是创建几个firestore项目,另一种是移动到rds? 要么到多个实时数据库,要么到其他 GCP(谷歌云平台)服务。您可以使用 GCP 来托管您自己的服务器、数据库等。以上是关于由于达到 Firestore 限制而扩大规模时的主要内容,如果未能解决你的问题,请参考以下文章
使用 StreamBuilder 而不是 FeatureBuilder 来避免 Firestore 中的 whereIn 10 限制