Performance 哪些反向代理适用于node.js socket.io应用程序?

Performance 哪些反向代理适用于node.js socket.io应用程序?,performance,node.js,reverse-proxy,Performance,Node.js,Reverse Proxy,我目前有几个运行在Apache反向代理后面的应用程序。我这样做是因为我有一个公共IP地址用于多个服务器。我使用VirtualHosts将正确的应用程序代理到正确的服务。例如: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName nagios.myoffice.com ProxyPass / http://nagios.myoffice.com/ ProxyPassReverse

我目前有几个运行在Apache反向代理后面的应用程序。我这样做是因为我有一个公共IP地址用于多个服务器。我使用VirtualHosts将正确的应用程序代理到正确的服务。例如:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName nagios.myoffice.com

    ProxyPass /  http://nagios.myoffice.com/
    ProxyPassReverse / http://nagios.myoffice.com/
</VirtualHost>

服务器管理员webmaster@localhost
服务器名nagios.myoffice.com
ProxyPass/http://nagios.myoffice.com/
ProxyPassReverse/http://nagios.myoffice.com/
这对于PHP、Django和Rails等应用程序来说效果很好,但我想开始尝试Node.js

我已经注意到,Apache代理背后的应用程序无法处理与我直接访问它们时一样高的负载。很可能是因为Apache配置不理想(可能没有足够的同时连接)

我想在node.js中尝试的最酷的功能之一是socket.io功能,我担心这会暴露性能问题。特别是,据我所知,socket.io将使我为数不多的几个宝贵的Apache连接中的一个不断打开


你能建议我在这种情况下使用反向代理服务器吗?它可以让我使用多个VirtualHost,并且不会过多地抑制node.js应用程序的性能或妨碍socket.io实验?

我建议使用node http proxy。非常活跃的社区,并在生产中得到验证

特征

  • 反向代理传入的http.ServerRequest流
  • 可以用作node.js中的CommonJS模块
  • 使用事件缓冲来支持代理请求中的应用程序延迟
  • 基于简单JSON配置的反向或正向代理
  • 支持
  • 支持
  • 最小的请求开销和延迟
  • 全套功能测试
  • 通过生产使用@[nodejitsu.com][0]进行战斗
  • 完全用Javascript编写
  • 易于使用的API
使用以下命令安装

npm install http-proxy

这是页面和

虽然这引入了一种新技术,但我建议使用nginx作为前端。nginx是一个用c编写的快速且坚固的服务器,它非常擅长反向代理。与节点类似,它是事件驱动的和异步的


您可以使用nginx将请求转发到正在运行的各种nodejs服务器,可以是负载平衡,也可以取决于url(因为它可以执行重写等操作)。

您好,谢谢您的提示。对我来说,一个关键特性是虚拟主机功能,其中“站点A”连接到服务器x,“站点b”连接到服务器y。我在那个文档中看到“使用‘仅主机名’代理表的代理请求”。相同的功能是什么?你一定能做到!example1.com->serverx:9000&example2.com->servery:9000谢谢,我今天会试试,并成功回复!