2012-02-13 10 views
7

私はAppHarbor 2+インスタンス(ウェブ労働者)上で実行されているが、thsiが動作しませんように見えるの周りに読んでホストされているアプリでSignalRを使用して評価しています: SignalR wikiはウェブでスケーリングすることを言いますファームはまだ開発中です(2人以上のウェブワーカーはウェブファームのように聞こえます)。 Another question here on StackOverflowは、複数のissサーバでは動作しないと言います。 反対側では、AppHarborサポートサイトthey sayでは、多くの情報を与えなくてもうまく動作します(同時接続数、ロードバランサの制限などのすべての質問には答えませんでした)。SignalR

SignalRがAppHarborを実行する正しいパスであるかどうか確認できますか?

ありがとうございます!

答えて

9

David FowlerはSignalRのRedisメッセージストアで作業しています。 code is on Githubと私は、SignalRアプリケーションを複数のAppHarborインスタンスに拡張できるようにすると考えています。 2014年

+1

これは正しいです。おそらく、他のテクノロジーを使用したソリューションも見ていますが、ここではJabbRのレディス(現在は1つのノードを使用しています)の例があります。このアプリは、ノード間で拡張できる必要があります。 http://jabbr-redis.apphb.com/ – davidfowl

+0

私はレディスがメッセージの保存に使用されていると思います。 SignalRは通常そこにどこに保存されますか?ローカルファイルシステムでは(明らかに各展開時にappharborによって消去されます)?配備時のワイプのための部分は、ローカルファイルシステムが動作しないでしょうか?各Webワーカーは独自のWebワーカーを持っていますか、アプリのファイルシステムは1つだけですか? – Pietro

+2

通常、SignalRは物事をメモリに保存します。現在の実装では、メッセージを格納するのではなく、純粋なメッセージバスとしてredisを使用します。追加する必要があるのは何らかのフォールトトレランスです。新しいノードが起きたときや、ダウンしたノードが復旧したときに、キャッシュをredisから再投入するか、メッセージをバッファに入れるかを決定します。 – davidfowl