我正在考虑实时将数据从服务器从服务器推向客户端的一些选项。

我已经实现了一个基于民意调查的(每个客户端在每30秒后将HTTP请求发送到服务器。)应用程序在10个用户进入后确实不会扩展。此应用程序。是使用MySQL,PHP,HTML和JQuery构建的。

请建议考虑到以下要求-APE vs node.js,最好建议哪个更好

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

解决方案

我强烈建议您看看 socket.io. 。这是用于服务器推送的完整解决方案,其中包括服务器端库(用node.js编写)和以交叉浏览器方式制作的客户端JS库。我认为您没有理由实施自己的代码来执行已经制作,工作和测试。

socket.io无法处理的唯一情况是您的第三个请求,但这是不可能的。如果我正确理解您,您希望两个客户在没有第三方服务器的帮助下进行通信?您不能将HTTP更改为P2P,至少现在不是。

另一方面,如果您打算通过服务器(例如私人两人聊天之类的操作)传达两个用户,则使用socket.io完全可行。

其他提示

即使每个人现在都朝node.js运行,我们还是根据 我们对此感到非常满意。

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

在这个项目中,我们处理 〜9000个并发用户与实时消息。 NGINX服务器放在APE的前面,以提供Deflate/GZIP支持

即使在“不那么高的机器”机器上,这种配置(也没有NGINX)也没有问题。

由于您可以将数据推向“频道”或单个用户,因此您应该能够准确地实现从广播到直接消息的APE所寻找的目标。

如您已经说过的,如果您在现有堆栈中使用Apache,那么将用户扩展也存在问题,即使您使用 长期投票 而不是连续的。解决方案可能是使用高性能网络服务器 nginx 为了处理许多并发连接。

另一方面,Node.js是针对这种连接并发的,并且有包装,例如 socket.io, ,这可以使您的开发人员生活更加轻松,因为它提供了带有后备解决方案和其他有用功能的各种运输选择。

我不建议使用大规模应用程序的猿,这对于聊天应用程序很好,但是就群众数据运输而言,一段时间后客户的浏览器开始放慢速度和压碎。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top