現在、プッシャーとPubNubを評価して、主にWebクライアントとサーバー間の双方向のリアルタイム通信を可能にします。どちらも印象的で、Pusherのドキュメントは優れているようで、PubNubのスケーラビリティと信頼性は明らかに彼らにとっての強みです。
ただし、予算を管理しているため、Pusher&PubNubのコストが問題になる可能性があるため、オープンソースの代替手段の1つを使用することを検討しています。主にSocket.io、Faye、 jWebSocket。
しかし、自分でサービスを実行することには不安があります:
アドバイスをありがとう。
Node.jsを使用したFayeのセットアップは非常に簡単で、最初はテストで非常にうまく機能しました。ただし、アプリの負荷は毎秒約10件のリクエストであり、約3000のオープン接続があります-稼働中のnode.jsに切り替えると、CPU使用率は100%に固定されました(8コアのうち1コアが使用可能)。私はこれに少し失望し、もっと期待していました。
Redisを使用するか、異なるポートでノードの複数のインスタンスを実行し、アプリケーション側で負荷を分割することを検討しましたが、PubNubの価格を見ると、これらすべてをオフロードする方がはるかに簡単に思えました。
PusherとPubNubの両方を試した後、PubNubの方が安価であり、待ち時間もはるかに短いことがわかりました(私はシンガポールでホストされていますが、PushNは私にとって500ミリ秒でしたが、PubNubはアプリケーションから250ミリ秒の往復でした)。ただし、米国でホストされている場合、違いはおそらくはるかに小さいでしょう。
Ape-Serverも調べましたが、パブリッシュ/サブスクライブモデルをセットアップするための優れたチュートリアル/ドキュメントが見つからなかったため、スキップしました-しかし、おそらくあなたは私よりも賢く、より良い経験を持っているでしょう:)