我遇到了客户端上的无限循环导致 Meteor 服务器崩溃的情况。无限循环是我将修复的错误,而不是这个问题的主题。我担心恶意用户可能会创建自己的无限循环并使 Meteor 服务器崩溃。
有问题的无限循环反复调用Meteor.subscribe(...)
and Meteor.call(...)
。看起来这些请求正在服务器上排队到无法使用的地步,即使客户端的意图是放弃它们。有没有办法告诉服务器请求已被放弃并将其从队列中删除?
我想这不会保护服务器免受客户端发出数千个连续请求而不放弃它们的影响,因此如果有人有答案,这个问题将取代这个问题。如何限制单个客户端可以发出的请求数量?
在这些 APM 图表中,您可以看到无限循环如何影响性能。我在大约 13:17 开始它,在 13:25 应用程序崩溃了(因超出其内存配额而被 Heroku 终止)。