74

私は現在、Pusher と PubNub を評価して、主な Web クライアントとサーバー間の双方向のリアルタイム通信を有効にしています。どちらも印象的で、Pusher のドキュメントの方が優れているように見え、PubNub のスケーラビリティと信頼性は明らかにそれらの長所です。

ただし、予算を管理しているため、Pusher と PubNub のコストが問題になるのではないかと懸念しているため、オープン ソースの代替手段の 1 つを使用することを検討しています。主に Socket.io、Faye、およびjWebSocket.

ただし、自分でサービスを実行しているにもかかわらず、懸念があります。

  • 実際に Socket.io やその他のオープン ソース ソリューションを複数のサーバーにスケーリングしたことのある人はいますか? PubNub は、1 秒間に 100 万件のメッセージを処理すると主張しています。、Socket.ioがまったく機能する場合、計り知れない数のサーバーなしでそれを実行できるとは思えません。
  • 有料サービスには、オープン ソース ソリューションを使用した場合に見逃してしまう可能性のある機能はありますか?
  • いずれにせよサーバーが AWS にある場合、レイテンシーは本当に問題になるのでしょうか? PubNub は複数の場所にあるため、これによりレイテンシが短縮されると予想されますが、メッセージを米国から日本に送信する必要がある場合、日本にサーバーを配置しても、何らかの方法で移動する必要があるため、レイテンシには役立ちません.

アドバイスをありがとう。

4

1 に答える 1

21

Node.js を使用する Faye は、セットアップが非常に簡単で、最初のテストでは非常にうまく機能しました。ただし、アプリの負荷は 1 秒あたり約 10 リクエストで、約 3000 のオープン接続がありますが、ライブ node.js に切り替えると、CPU 使用率は 100% に固定されました (ボックスで使用できる 8 コアのうち 1 コア)。私はこれに少しがっかりし、もっと期待していました。

redis を使用するか、異なるポートでノードの複数のインスタンスを実行し、アプリケーション側で負荷を分割することを検討しましたが、PubNub の価格を見ると、これらすべてをそれらにオフロードする方がはるかに簡単に思えました。

Pusher と PubNub の両方を試したところ、PubNub の方が安く、レイテンシーもはるかに低いことがわかりました (私はシンガポールでホストされており、Pusher は私にとって ~500ms でしたが、PubNub は私のアプリケーションからの往復で ~250ms でした)。ただし、米国でホストされている場合、違いはおそらくはるかに少なくなります.

Ape-Server も調べましたが、パブリッシュ/サブスクライブ モデルをセットアップするための適切なチュートリアル/ドキュメントが見つからなかったので、スキップしました。

于 2012-07-04T02:09:55.480 に答える