2012-05-08 7 views
3

node.jsで(twitterのストリーミングAPIを使用して)一連のtwitterストリームを監視する必要があります。どちらのアプローチが「より良い」ものになるでしょうか?node.jsで処理できるアクティブなストリームの数

  • 実行複数のプロセス、すべてのストリームを扱う1プロセス
  • ストリームあたりの実行1プロセス

この時点で私は私が持っていますどのように多くのストリームを知っているが、理想的にセットしないでください10000+オープンストリームまで拡張できるはずです。

他のコンテキストで編集: ほとんどまたはすべての処理は別のサーバーによって行われます。ストリームを信頼性、保守性、パフォーマンスに優れた方法で管理したいと考えています。

+0

あなたはTwitterストリームに接続するためにどのnodejsモジュールを使用していますか? – user971956

+0

@ user971956リクエストを使用 – zackz

答えて

2

この質問への答えはツイートが唯一である場合にツイーターは、あなたが特に

ツイートを処理するには何をしている

  • をつぶやいているどのくらいの頻度で

    1. に多くを依存して散発的に来て、ユーザーごとに1つのツイートが3分以上かかるような場合は、ノードの1つのインスタンスがすべてのものを処理するためにうまくいくはずです。

  • +0

    ありがとうございます。ストリーム・プロセスは、Redisにデータを入れる以外に処理をほとんどまたはまったくやりません。別のプロセスは、解析および長期間のデータ記憶を処理する。 IOの量がストリーム/プロセスを維持するオーバーヘッドよりも重要であると言いますか? – zackz

    +0

    @ザックス:間違いなく。処理がほとんどない場合、Nodeはこのようなストリームを何千も処理できなければなりません。 RedisとNodeについては、ユーザーごとに開いているファイルの数を調整する必要があります。拡張するには、[cluster](http://nodejs.org/api/cluster.html)モジュールを使用して、コアごとに1つのNode.jsプロセスを実行できます。 –

    0
    • シングルプロセスを実行し、CPU負荷を測定します。 1つのCPUで十分でない場合は、CPUコアと同じプロセスを実行し、プロセス間でストリームを均等に分配してみてください。
    関連する問題