2012-05-08 71 views
3

我需要在node.js中监视一串twitter流(使用twitter的流式API)。哪种方法会“更好”?一个node.js进程可以处理多少个活动流

  • 运行多个进程,每流1个过程
  • 流程1的工艺处理所有的流

在这一点上,我不知道有多少流都会有,但理想的集up应该能够扩展到10000+开放流。

编辑更多上下文: 大部分或全部处理将由另一台服务器完成。只是希望以可靠,可维护和高性能的方式管理流。

+0

您使用哪个nodejs模块连接到Twitter流? – user971956

+0

@ user971956使用请求 – zackz

回答

2

的这个问题的答案取决于

  1. 很多多久高音单元啁啾
  2. 你正在做处理鸣叫

尤其是什么,如果微博仅仅是偶尔进来,比如每3分钟每个用户发1条推文,那么我认为1个节点实例应该可以处理所有这些问题。

+0

谢谢!除了将数据放入Redis之外,流处理将不会进行任何处理。另一个进程将处理解析和长期数据存储。 所以我想你说的是,IO的数量比维护流/进程的开销更重要? – zackz

+0

@zackz:绝对。如果处理很少,Node应该能够处理数千个这样的流。不过,对于Redis和Node,您可能需要调整每个用户打开的文件数量。要进行扩展,您可以使用[cluster](http://nodejs.org/api/cluster.html)模块为每个核心运行一个Node.js进程。 –

0
  • 运行单个进程,测量cpu负载。如果一个CPU不够用,那么就像CPU核心一样运行多个进程,尽量在进程间平均分配流量。
相关问题