Heroku でリアルタイム チャット アプリ用の node.js バックエンドを開発しています。dyno と node.js バックエンドをスケーリングする方法を見ていると、各 dyno は他の dyno から独立できるため (ほとんどの場合は問題ありません)、http サーバーで dyno が持つ利点がわかります。
私の質問は、リアルタイムの socket.io アプリの負荷分散をどのようにスケーリングおよび処理できるかということです。私が読んでいるものから、ダイノは「サンドボックス化」されたコンテナです。各ダイノは、他のダイノから独立して独自のプロセスを実行します..では、問題を処理する最良の方法は何ですか?
私は解決策を考えていましたが、それはエレガントでもきれいでもありません:
そのインスタンスに接続されているユーザーの新しいメッセージをチェックできる cron を含むバックグラウンド ジョブを複数持つこともできますが、もっと良い解決策が必要だと思います。