Socket.IO は、最も人気がありアクティブなWebSocketエミュレーションライブラリのようです。 Juggernaut は、これを使用して完全なpub/subシステムを作成します。
Faye も人気がありアクティブであり、独自のjavascriptライブラリを備えているため、完全な機能がJuggernautに匹敵します。 Juggernautはサーバーにノードを使用し、Fayeはノードまたはラックを使用できます。 Juggernautは永続化にRedisを使用し(correction:pub/subにRedisを使用します)、Fayeは状態をメモリにのみ保持します。
開示:私はフェイの著者です。
フェイはおそらくジャガーノートに比べてはるかに複雑に見えます。トランスポートネゴシエーションをSocket.IOに委任し、メッセージルーティングをRedisに委任します。これらはどちらも素晴らしい決定ですが、Bayeuxを使用するという私の決定は、自分でもっと作業をする必要があることを意味します。
設計哲学に関しては、Fayeの最優先の目標は、Webが利用可能なすべての場所で機能し、使用するのは絶対に簡単であるべきだということです。始めるのは本当に簡単ではありませんが、その拡張性は、非常に強力な方法でカスタマイズできることを意味します。たとえば、認証拡張機能を追加することで、サーバーからクライアントへのプッシュサービスに変換できます。 。
サーバー側の柔軟性を高めるための作業も進行中です。クラスタリングのサポートを追加し、コアpub-subエンジンをプラグ可能にして、FayeをRedisやAMQPなどの別のpub-subシステムのステートレスWebフロントエンドとして使用できるようにすることを検討しています。
これがお役に立てば幸いです。
フェイの著者が言っていることに本当に興味があります。私が言うように、私はそれを使用していないので、ジャガーノートと比較する方法を知ることは素晴らしいことです。おそらく、仕事に最適なツールを使用する場合です。 pubsubが必要な場合、Juggernautは非常にうまく機能します。
フェイは確かにできました。 Socket.IOの上にある同様のプロジェクトの別の例: