Firestore 作为真正的多区域数据库

Firestore as true Multi-Region database

目前 Firestore 在美国和欧洲是多区域的,但是有什么方法可以处理来自世界各地的 firestore 查询吗?

考虑一个用户群分布在全球的应用。在这种情况下,由于在项目开始时 firestore 被硬编码为特定区域,我们如何处理这种情况?

有哪些方法可以改善所有区域的延迟?

示例:

1 个请求

  User from US + Firestore in US => It will be in range of 100ms
  User from India + Firestore in US => It will be in range of 300ms (includes RTT)

5 个请求

 User from US + Firestore in US => It will be in range of 500ms
 User from India + Firestore in US => It will be in range of 2.5-3Secs (includes RTT)

如您所见,在某些情况下来自不同位置的延迟会过高。

有哪些可能的选择?

没有简单的配置可以让 Firestore 跨多个地理区域统一运行。您只能执行 documentation 中提到的内容,而无需自己管理。

如果您绝对必须在多个地理区域拥有 Firestore 数据,则需要:

  1. 为每个区域创建一个新项目,因为每个项目只能在一个区域中存在 Firestore
  2. 将“主”项目中的数据镜像到其他地区的项目中
  3. 要求只写入“主”区域,而读取可以来自任何地方