关注者的实时新闻源 - 哪些工具和语言?

时间:2012-03-19 03:45:54

标签: node.js websocket real-time rabbitmq tornado

我想像Twitter一样实时地为追随者实现新闻源。但是我被困在哪些工具对我来说是最好的。解决方案(复合解决方案)应该是生产就绪的。我已经尝试过node.js + socket.io + rabbitmq(node-ampq,rabbitJS),但节点经常崩溃......另一个解决方案是Tornado + sockJS-tornadio,但我不确定(并且知道Python不好)。在深入研究代码之前,我只需要知道哪些工具可以用于我的目的,并且可以“真正”实时。 “真的”我的意思是快速的请求 - 响应。我已经尝试过RabbitMQ + PHP API + Ajax,但它不是'真正'实时,它使用ajax而不是例如websockets。

新闻源的数据将类似于“John更新其个人资料”,“Doe上传新文件”等类似内容。

谢谢!

3 个答案:

答案 0 :(得分:1)

他们遇到了什么样的崩溃? Node已经相当稳定一段时间了,至少对我而言。

Node是一个很好的解决方案,但是你在Node和PHP之间的通信中引入了一些复杂性(你希望用RabbitMQ来解决它)。 "真"使用socket.io可以轻松实现实时,并且因为它具有多个回退,因此非常适合广大受众。长时间的民意调查和朋友确实有他们的开销,但如果事件不是很频繁,那就太多了。

如果您将新闻源集成到PHP程序中更容易,并且您愿意接受我所说的小额开销。否则,我会投资Node。这个平台还很年轻,但它很成熟,IMO。

答案 1 :(得分:1)

我只是构建一个实时的Web应用程序。用户可以在同一页面中拖动项目和聊天。我使用tornado + jquery pending + redis作为MQ系统。它运行良好,但我正在考虑尝试socket.io来处理实时请求。

答案 2 :(得分:0)

龙卷风在性能方面非常棒,而且非常容易使用。唯一的问题是你需要确保你有数据库的适配器和你需要与之通信的其他阻塞源。它当然支持websocket,因此您可以将数据流式传输给用户。

如果我今天必须实现这个,我使用的堆栈是:

  1. Redis用于数据和pub / sub on channels。

  2. Tornado作为API服务器。

  3. 尽可能使用通信层的WebSocket。