想要select:Node.js Meteor.js Ratchet RabbitMQ实时WebChat(论坛)

在提出这个问题之前,我做了一些研究,但却找不到具体的答案。

我想创buildWebChat实时同步到服务器上的数据库。 (MySQL或MongoDB – 一切正常)但关于同步数据有几种方法来做到这一点:

  1. Ratchet的PHP + websockets和我的工作只是通过JSON创build一个协议来授权和消息。 许多文档,许多教程。 (我知道websockets在IE中不起作用,但是不pipe用)

  2. node.js + socket.io – 有相同的技术解决scheme1,但在不同的语言。

  3. node.js + meteor.js(sockJS) – 似乎人们都工作,我不需要添加任何协议function,只是编码的逻辑。 但是,如何高负荷? 怎么样的文件…非常年轻的框架。

  4. 龙卷风+ TornadIO2(socket.io)+ RabbitMQ

任何人都可以比较RabbitMQ与meteor.js? 性能。 谁能说哪个方法更好?

我不知道所有的框架,所以如果我有更好的select,请告诉我:)

请给我你的意见。 谢谢!

我推荐基于php的 websocket服务器: Ratchet 。我使用它,这个链接是RatchetSockJS之间的webSocket服务器的基准testing

因为你想做networking聊天,所以需要最好的性能和良好的CPU功耗.Ratchet有很好的解决scheme来处理客户端和服务器之间的消息。它具有广播发送消息和特殊的发送消息为一组客户端,也有很好的控制服务器事件例如ZMQ Libarary.Ratchet&ZMQ的MySQL更新在Reactphp Project之上

您还可以看到WebRTC(与WebSocket相关的技术),这是另一个增强现代Web浏览器通信function的工作。 WebRTC是Web的点对点技术。 WebRTC的第一个应用程序是实时语音和video聊天。 WebRTC已经成为一种引人注目的媒体应用新技术,在线上有许多可用的示例应用程序,使您可以通过Web上的video和audio进行testing。 请检查这个链接

对于实时数据Web客户端同步,我知道的解决scheme是:

  • meteor
  • 火力地堡
  • Simperium
  • DerbyJS

不幸的是,我只能说前三名。 我一般的websocket(包括socket.io)的经验已经不足,包括零星的断开和一个复杂的连接系统。 但是,这个说法是非常强大和多样的。 使用websockets,您几乎可以在任何平台上运行服务器或客户端。 Socket.io在一定程度上限制了这一点,但实际上它只是websocket的一个子集。 meteor然而是完全不同的球赛。 虽然起初令人困惑,但是构build和部署应用程序的容易程度让我印象深刻。 它强大而灵活。 根据WebChat的复杂程度,任何一个都是不错的select。 如果你正在寻找更简单的东西,我会用socket.io。 对于更复杂的我会推荐meteor。

希望这可以帮助。