Ajax Push Engine (APE) Vs Node.js

2022-08-30 19:56:53

我正在考虑一些选项来将数据从服务器实时推送到我的Web应用程序的客户端。

我已经实现了一个基于轮询(每个客户端在每30秒后向服务器发送http请求)的应用程序,该应用程序在10个用户进入后实际上不会扩展。这个应用程序是使用MySQL,PHP,HTML和jQuery构建的。

考虑到以下要求,请建议哪一个会更好 - APE Vs节点.js

  1. 应该能够一次处理至少 400 个并发连接
  2. 服务器应该能够将数据推送到所有这些客户端。
  3. 客户端将在彼此之间发送数据。

答案 1

我强烈建议您看一下 Socket.IO。它是服务器推送的完整解决方案,包括服务器端库(以 node.js 编写)和以跨浏览器方式制作的客户端 JS 库。我认为你没有理由实现自己的代码来做已经制作,工作和测试的事情。

唯一的情况就是插座。IO不会处理您的第三个请求,但无论如何这是不可能的。如果我正确理解您,您希望两个客户端在没有第三方服务器帮助的情况下进行通信吗?你不能把HTTP改成P2P,至少现在不能。

另一方面,如果您打算通过服务器与两个用户进行通信(进行私人双人聊天之类的操作),那么使用 socket.io 是完全可行的。


答案 2

尽管每个人都在向node.js现在,我们做了一个基于APE的聊天应用程序,我们对此非常满意。

APE提供了您正在寻找的“开箱即用”的东西,因为它是服务器端JS和客户端框架APE_JSF的组合,它提供了您从 socket.io 获得的功能(以及更多功能)。

在这个项目中,我们处理大约9000个并发用户,并发实时消息。将nginx服务器放在APE前面以提供放气/ gzip支持

这种配置(如果没有nginx)在处理您的要求时也不会有问题,即使在“不那么高端”的机器上也是如此。

由于您可以将数据推送到“频道”或单个用户,因此您应该能够通过APE实现您正在寻找的完全目标,从广播到直接消息。


推荐