2013-02-16 14 views
7

私はRailsでチェス(ウェブソケットが必要)を実装することを検討しており、NginxをUnicornプロセスのリバースプロキシとして使用している実稼働環境では展開しています。私の知る限りは、WebSocketを、永続的な接続されている理解しNginxとUnicornでWebsocketを使用しているRails?

:その仕事を作成する方法について考えて

は、以下の質問を持って私を導きました。すべてがリバースプロキシNginxを経由するので、UnicornワーカープロセスがクライアントブラウザへのWebソケット接続をどのくらい正確に維持するのでしょうか? Nginxは、各ブラウザのwebSocketが接続されている一種の仲介者としてユニコーンのプロセスを管理していますか?ユニコーンプロセスで永続的なwebsocket接続を維持すると、ワーカープロセス全体がブロックされますか?

Railsを使用してチェス(ウェブソケット付き)を実装する推奨方法はありますか?

+0

nginxはウェブソケットをサポートしていません。 –

+9

バージョン1.3.13以来、nginxはWebソケットをサポートしています – mak

+0

あなたは最終的にuser782220をやることにしましたか? – Morgan

答えて

-4

nginxはウェブソケットを実行しません。あなたはAJAXでこれを行うことはできませんか?あなたが本当にプッシュ機能が必要な場合は、彗星のアプローチを中心に構築された何かを試みることができる:http://en.wikipedia.org/wiki/Comet_(programming)

フェイがレールに彗星を実装するためのかなり良い逸品です。 http://faye.jcoglan.com/

1

nginxのを使用して非同期の配信とユニコーンにより、同期処理を接続しますnginx側では少なくとも私には厄介なようないくつかの論理を暗示します。せいぜい不可能です。

シンウェブサーバーを使用しているプラ​​イベートパブの宝石に関するレールスクエアがあります。これは、このタスクに適した方法です。非同期で、イベントベースのIOを使用して多くの同時リクエストを処理できます。ですから、UnicornをThinに置き換えるか、Thinを横に並べてインストールすることをお勧めします。

プーマウェブサーバーもオプションになる可能性がありますが、それ以上の情報はありません。

関連する問題