QA@IT
«質問へ戻る

質問を投稿

Rails3でのリアルタイム通知実装のベストプラクティスは?(Pusher以外)

よくあるタイムラインの未読数を表示する部分や、チャットでページをリロードせずに、他の人の発言を同じルームに入っている人、全員のウィンドウに反映させるなどのリアルタイムな処理をRails3に実装する場合、現時点でのベストプラクティスや、それに近い実装方法、個人的に最も良いと考えている方法などありますでしょうか?

また、Rails4でリアルタイム系の機能が導入されるという話も聞こえて来ていますが、その機能をRails3に組み込む方法もあるのでしょうか?

今回はなるべく安価で手数が少なく済む方法で、と考えているため、Pusherは除外でお願いします。
(Pusherは実装は簡単ですが、実サービスで使うとなるとさすがに無料枠では収まらないので。。)

自分ではPrivate PubというGemを試してみたのですが、今のところ、とりあえずはそれなりに動きそうという感触です。
(別アプリを立ち上げる必要がありますがHerokuでも動きそうです。)

基本的にはRailsアプリに最終的に組み込めればよいので、Node.jsなどで作成したAPIを叩くなどでもOKです。

希望要件としては、なるべく手数が少なく実装できること、出来ればHeroku上でも動作すること、なるべく環境依存が少ないことなどがありますが、どのような方法があるのか?という部分も知りたいと思っているので、多少、外れていても大丈夫です。
(パフォーマンス面、どの程度スケールするかという点についての情報もあるとありがたいです。)

よくあるタイムラインの未読数を表示する部分や、チャットでページをリロードせずに、他の人の発言を同じルームに入っている人、全員のウィンドウに反映させるなどのリアルタイムな処理をRails3に実装する場合、現時点でのベストプラクティスや、それに近い実装方法、個人的に最も良いと考えている方法などありますでしょうか?

また、Rails4でリアルタイム系の機能が導入されるという話も聞こえて来ていますが、その機能をRails3に組み込む方法もあるのでしょうか?

今回はなるべく安価で手数が少なく済む方法で、と考えているため、Pusherは除外でお願いします。
(Pusherは実装は簡単ですが、実サービスで使うとなるとさすがに無料枠では収まらないので。。)

自分ではPrivate PubというGemを試してみたのですが、今のところ、とりあえずはそれなりに動きそうという感触です。
(別アプリを立ち上げる必要がありますがHerokuでも動きそうです。)

* [ryanb/private_pub](https://github.com/ryanb/private_pub)

基本的にはRailsアプリに最終的に組み込めればよいので、Node.jsなどで作成したAPIを叩くなどでもOKです。

希望要件としては、なるべく手数が少なく実装できること、出来ればHeroku上でも動作すること、なるべく環境依存が少ないことなどがありますが、どのような方法があるのか?という部分も知りたいと思っているので、多少、外れていても大丈夫です。
(パフォーマンス面、どの程度スケールするかという点についての情報もあるとありがたいです。)