Ilj*_*lja 14 firebase firebase-realtime-database google-cloud-functions google-cloud-firestore
目前我有3个用于应用程序的firebase项目:live,beta,development
它们处理各自的环境并且都在美国区域内.
将来,如果应用程序在全球范围内使用,那么在欧盟/亚洲+美国推荐的扩展方式是什么?我最初的本能是创建额外的firebase项目,如live-eu,live-asia,但我在这里看到一个问题:
这些项目是否可以使用我的美国目前使用的相同应用ID?我无法从美国项目中导入数据,因为它uid's确实存在于其他项目的auth中吗?但我需要允许用户过渡到其他地区.
我不能在一个地方从所有地区收集分析也是正确的吗?
因此,问题是,有没有办法在firebase项目中扩展/添加多区域支持?特别感兴趣的是firestore和cloud功能,因为这些功能可以减少延迟.
我在评论中询问但没有得到回复,所以我假设您的应用程序具有读取密集型工作负载。对于这些情况,为了减少来自世界各地的请求的延迟,您应该使用 CDN 来缓存静态文件和响应(即利用边缘位置和边缘计算)。您甚至不需要坚持使用 Firebase(Akamai 和 CloudFront 等解决方案可能适合您的需求并轻松插入您的 Firebase 解决方案),但如果您需要,请查看Firebase Hosting。
如果您的工作负载是写入密集型的,请尝试使用异步机制(例如消息队列)来保证向用户提供更快的反馈。通常,写操作不需要立即/同步执行,但同样,最好了解您的工作负载以给出更准确的答案。
编辑:Google 最近宣布了Firestore - 他们提供多区域支持以获得更好的可用性:
多区域位置是一般地理区域,例如美国。多区域位置中的数据会复制到多个区域中。在一个区域内,数据会跨区域复制。
在可扩展性方面,这是他们在博客中给出的声明:
Cloud Firestore [...] 构建在为一些非常流行的应用程序提供支持的相同 Google Cloud 基础设施之上。因此,与实时数据库相比,它将能够更轻松地扩展,容量也更大。
通过新的查询结构,所有 Cloud Firestore 查询都会缩放到结果集的大小,而不是数据的大小。这意味着,无论您的数据库有 300 家餐厅、30 万家餐厅还是 3000 万家餐厅,使用餐厅评论应用程序搜索芝加哥排名前 10 的餐厅将花费相同的时间。正如一位工程师喜欢说的那样,“在 Cloud Firestore 中创建慢速查询基本上是不可能的。”
请注意,Firestore 中的写入具有强一致性(这意味着与最终一致性解决方案相比,它们具有更高的延迟)。
| 归档时间: |
|
| 查看次数: |
799 次 |
| 最近记录: |