基于这个答案,看起来流星服务器为每个连接的客户端保留了缓存的内存中副本.我的理解是它被用来避免在处理客户端上的重叠订阅时发送多个数据副本.
链接答案的相关部分(重点是我的):
合并框:合并框的作用是将所有客户端的活动发布函数的结果(添加,更改和删除的调用)组合到单个数据流中.每个连接的客户端都有一个合并框.它包含客户端的minimongo缓存的完整副本.
假设在当前版本的流星中答案仍然准确,那么随着用户数量的增加,这不会在服务器上造成巨大的内存浪费吗?
作为一个袖手旁观的计算,如果一个应用程序每个客户端大约有100kB缓存,那么10,000个并发用户将在服务器上消耗1GB内存,而100,000个用户则高达10GB!即使每个客户端都在查看几乎相同的数据,情况也是如此.应用程序使用比每个客户端更多的数据似乎是合理的,这将进一步加剧问题.
当前版本的Meteor中是否存在此问题?如果是这样,可以使用哪些技术来限制服务器管理所有客户端订阅所需的内存量?
meteor ×1