Php Ajax推送引擎(APE)与Node.js

Php Ajax推送引擎(APE)与Node.js,php,jquery,node.js,ape,Php,Jquery,Node.js,Ape,我正在考虑为我的web应用程序实时将数据从服务器推送到客户端的几个选项 我已经实现了一个基于轮询的应用程序(每个客户机每30秒向服务器发送一次http请求),在10个用户加入后,这个应用程序实际上无法扩展。这个应用程序。使用MySQL、PHP、HTML和jQuery构建 考虑到以下要求,请建议哪一个更好-APE Vs node.js 一次应能处理至少400个并发连接 服务器应该能够将数据推送到所有这些客户端 客户端将在彼此之间发送数据 我强烈建议你看一下这本书。它是一个完整的服务器推送解决方案,

我正在考虑为我的web应用程序实时将数据从服务器推送到客户端的几个选项

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

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

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

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

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


    另一方面,如果您打算通过服务器与两个用户通信(做一些类似于私人两人聊天的事情),那么使用socket.io完全可以做到。

    如果您在现有堆栈中使用Apache,那么,正如您已经说过的,即使您使用的不是连续的,也会出现扩展用户的问题。解决方案可能是使用高性能的web服务器,如,以处理许多并发连接


    另一方面,node.js是为这种连接并发性而设计的,并且有一些软件包,比如,它可以让开发人员的生活更加轻松,因为它提供了各种传输选项以及回退解决方案和其他有用的功能。

    即使现在每个人都在运行node.js,我们做了一个基于的聊天应用程序,我们对此非常满意

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

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

    这种配置(也没有nginx)在处理您的需求方面不会有问题,即使是在“不太高端”的机器上


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

    我不建议将APE用于大规模应用,这对于聊天应用程序来说很好,但就海量数据传输而言,客户端的浏览器在一段时间后开始变慢并崩溃。

    谢谢!我将签出Socket.IO,关于我的第三个请求,我指的是两个用户之间通过服务器进行通信。@Vijay可以(而且很简单)使用Socket与服务器中继消息。签出Socket.IO意味着必须在node.js中重写现有的php应用程序,对吗?或者必须在两者(php和node.js)之间使用一个通信通道,比如MQ或其他什么?是的,现有的php逻辑必须在node.js中表达,至少与服务器push.Socket.IO直接相关的部分看起来令人印象深刻。正在考虑使用它。这是你自己的经验还是你在什么地方读到的?你是如何用APE设置nginx的,你描述的方式?这是一个工作配置-我很确定它不是完美的,但它完成了工作:我建议用这个替换官方客户端库:我发现它的API更容易,加载也不像官方的那样凌乱。APE死了吗?我想为一个项目尝试一下,但他们的网站目前非常无用……根据网站和@paraboul的github帐户,该项目处于非活动状态。查看google组: