【发布时间】:2021-07-04 04:20:31
【问题描述】:
我有一个 nodejs 后端,它在云 Firestore 数据存储之前充当 gRPC 服务器。在阅读 Firestore 的 best practices documentation 时,我注意到:“将快照侦听器限制为每个客户端 100 个”。
如果“客户端”是 Web UI 或 Flutter 应用程序,这是一个非常合理的限制,但同样的限制是否适用于通过管理界面连接到数据库的 node.js 或 golang 服务器?突然之间,在最好的情况下,我看到每个服务器进程有 100 个并发用户,如果这些用户每个都在流模式下请求单个资源,这并不是很好。
那么:当“客户端”实际上是后端 API 服务时,每个客户端限制 100 个快照侦听器是否适用?如果是这样,有哪些最佳实践可以解决这个问题?
(是的,我知道我可以在客户端本身中使用常规客户端 API,并且会这样做,我主要想知道学术意义上的限制,因为我正在考虑使用流式 GRPC,因为有一个公平的需要在存储表示和客户端使用的内容之间发生一些数据按摩,因此将所有这些都放在服务器上的一个地方,我控制推出频率比处理数据表示同步错误更容易,因为某些客户端正在使用转换器方法的旧实现。另外:这是发送给客户的额外数据/代码)。
【问题讨论】:
标签: node.js google-cloud-firestore