Jaa*_*and 1 firebase firebase-realtime-database google-cloud-firestore
我开发了一个应用程序,让人们可以出售活动门票。每当售出门票时,我都会更新代表 firestore 中事件门票的文档以更新统计信息。
在高峰时间,此文档会更新很多(可能每秒 10 次)。有时对这个项目文档的交易会由于“竞争过多”而失败,这会导致统计数据不准确,因为统计数据更新被删除。我猜这是文档高负载的结果。
为了解决这个问题,我正在考虑将项目的统计信息从 firestore 中的项目文档移动到实时数据库。在此之前,我想确保这将真正解决我在项目文档上的争用问题。实时数据库能否比 firestore 文档更好地处理此类负载?将此类数据移动到实时数据库是否被认为是一种好习惯?
您遇到的问题是Firestore的记录限制。对单个文档的持续写入速率有每秒 1 次的限制。您可能能够在一段时间内以比这更快的速度突发写入,但最终写入将失败,如您所见。
实时数据库有不同的记录限制。它以写入整个数据库的数据总量来衡量。该限制为每分钟 64MB。如果您想迁移到实时数据库,只要低于该限制,就可以了。
如果您正在 Firestore 中有效地实施计数器或其他一些数据聚合,您还应该研究分布式计数器解决方案,该解决方案通过跨多个文档分片数据来解决每个文档的写入限制。然后,您的客户端代码必须使用所有这些文档分片才能呈现数据。
至于这些中的任何一个是否是“良好实践”,这是一个意见问题,这与 Stack Overflow 无关。做任何适合您的用例的事情。我听说有人成功地使用了任何一种。
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |