嘿,在我目前的提要数据库设计中,我使用Redis作为超快读取的缓存,这些读取是通过我的Google Cloud函数路由的。Redis数据库处理所有的post数据和时间线更新,这很棒,但我忘记了其中一个最重要的警告。Firebase Firestore只允许one document write per second,这意味着如果我有一个存储帖子数据(post_id,user_id,content,like_count)的文档,like_count将无法跟踪每秒许多赞的可能性。有人对此有什么解决方案吗?
发布于 2020-07-21 08:52:11
您可以在多个文档之间进行shard your counter,并根据需要对它们进行聚合查询。
您还可以尝试使用Cloud Tasks queue来平滑写入频率。它会给系统增加相当大的复杂性,但它确实是GCP中管理某些工作的速度的唯一通用方法。然而,这可能不会以您需要的方式工作。
如果您使用Cloud Tasks,那么您的任务将需要具有速率限制的configured,并且它将必须交付文档数据以写入到另一个函数或将执行写入的其他HTTP端点。
https://stackoverflow.com/questions/63005656
复制相似问题