クライアントの無限ループが Meteor サーバーをクラッシュさせる状況に遭遇しました。無限ループは私が修正するバグであり、この質問の主題ではありません。私の懸念は、悪意のあるユーザーが独自の無限ループを作成し、Meteor サーバーをクラッシュさせる可能性があることです。
Meteor.subscribe(...)
問題の無限ループは、とを繰り返し呼び出していMeteor.call(...)
ます。クライアントの意図はそれらを放棄することであったにもかかわらず、これらの要求はサーバー上でキューに入れられて機能しなくなったようです。リクエストが放棄されたことをサーバーに伝え、キューから削除する方法はありますか?
これは、何千もの連続したリクエストを放棄せずに行うクライアントからサーバーを保護しないと思います。1 つのクライアントが実行できるリクエストの数を制限するにはどうすればよいですか?
これらの APM チャートでは、無限ループがパフォーマンスにどのように影響したかを確認できます。13:17 頃に起動し、13:25 にアプリがクラッシュしました (メモリ クォータを超えたため、Heroku によって終了されました)。