Webアプリケーション(および拡張機能としてRailsアプリケーション)に関しては、リアルタイムは単なる幻想です。長いポーリングは非常に近い近似値です。残念ながら、Railsにはあまり適していません。乗客についてはさらに少ない。
長いポーリングでは、ユーザーごとに永続的なオープン接続が必要です。これは、それを処理するように設計されていないサーバー(Apacheなど)ではあまり拡張できません。残念ながら、Railsでうまく機能する長いポーリングスケーラビリティ用に設計されたサーバーは本当にたくさんあります。Shooting-Starサーバーを試すこともできますが、標準的なリクエストでは、そのパフォーマンスがPassengerとどのように比較されるかはわかりません。
長いポーリングについての私の個人的な意見は、それは問題を必要としている解決策だということです。
本当にあなたは自分自身に次の質問をするべきです:
- これらの更新は、40秒待つことができないほど高い優先度ですか?
- 更新がすぐに受信されない場合はどうなりますか?
- 私のユーザーは私のアプリケーションに集中しすぎて、15秒待つとエクスペリエンスに悪影響を及ぼしますか?
- 私のアプリケーションは、通常の使用でユーザーの注意を何パーセント引き付けますか?
- 更新に応答するのにどのくらい時間がかかりますか?
- 本当にリアルタイムである必要がありますか?
それらの質問のいくつかは別の方法で他の質問をしているが、それはそのような主観的な質問ではある種必要である。
私が得ているものがわかると思います。リアルタイムの更新は非常に便利ですが、実際には必要ありません。リアルタイムの更新に反応しなかった結果が世界の終わりである何かに取り組んでいる場合。あなたは本当にそれをウェブアプリケーションとして開発するべきではありません。
リアルタイムの更新についてまだ気になっている場合は、Juggernautを調べることができます。しかし、それはFlashベースのソリューションです。