想要选择:Node.js Meteor.js棘轮RabbitMQ实时WebChat(论坛)



在问这个问题之前我做了一些调查,但是我找不到一个具体的答案。

我想创建WebChat实时同步到服务器上的DB。(MySQL或MongoDB -都可以)但是关于同步数据,有几种方法可以做到:

  1. PHP + websockets棘轮和我的工作只是通过JSON创建一个协议来认证和消息传递。很多文档,很多教程。(我知道websockets在IE中不工作,但没关系)

  2. node.js + socket。IO -有与1相同的技术解决方案。

  3. node.js + meteor.js (sockJS) -似乎家伙做了所有的工作,我不需要添加任何协议功能,只是编码逻辑。但是高负载呢?文档呢…

  4. Tornado + TornadIO2 (socket.io) + RabbitMQ

有人能比较RabbitMQ和meteor.js吗?通过性能。谁能说哪种方式更好?

我不知道所有的框架,所以如果我有比这四个更好的选择,请告诉我:)

请给我你的意见。谢谢你!

我推荐websocket服务器基于php:棘轮。这个链接是RatchetSockJS之间对 webSocket服务器进行基准测试。

因为你想让网络聊天那么需要最好的性能和良好的cpu功率。棘轮有很好的解决方案来处理客户端和服务器之间的消息。它为一组客户端提供广播发送消息和特殊发送消息,并且它对服务器事件有很好的控制,例如ZMQ库的mysql更新。棘轮,ZMQ在Reactphp项目之上

你还可以看到WebRTC(与WebSockets相关的技术),这是另一项增强现代web浏览器通信能力的努力。WebRTC是网络的点对点技术。WebRTC的第一个应用是实时语音和视频聊天。对于媒体应用程序来说,WebRTC已经是一项引人注目的新技术,在线上有许多可用的示例应用程序,使您能够通过Web对视频和音频进行测试。请点击此链接

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

  • 流星
  • 重火力点
  • Simperium
  • DerbyJS

不幸的是,我只能说前三个。总的来说,我使用websockets(包括socket.io)的经验不太好,包括偶尔的断开连接和复杂的连接系统。尽管如此,它还是非常强大和多样化的。使用websockets,你可以在几乎任何平台上运行服务器或客户端。套接字。IO在一定程度上限制了这一点,但它实际上只是websockets的一个子集。然而,流星是一个完全不同的球类游戏。虽然一开始会让人感到困惑,但我对构建和部署应用程序的简单程度印象深刻。它是强大而灵活的。根据WebChat的复杂程度,任何一种都是不错的选择。如果你想做一些更简单的事情,我会用socket.io。对于更复杂的,我推荐meteor。

最新更新