7co*_*ows 6 apache nginx node.js
nginx和Node.js都有事件循环来处理请求.我把nginx放在Node.js前面,就像这里推荐的那样
仅使用Node.js与使用Apache/Nginx的Node.js
使用此处显示的设置
两个事件循环如何一起玩?两者之间是否存在冲突风险?我想知道因为Nginx可能无法每秒处理与Node.js一样多的事件,反之亦然.例如,如果Nginx每秒可以处理1000个事件但node.js只能处理500个,那么这不会导致问题吗?(我不知道1000,500是否是合理的数量级,你可以纠正我.)
把Apache放在Node.js面前怎么样?Apache没有事件循环.只是线程.所以不会把Apache放在Node.js前面打败目的吗?
在2010年的演讲中,Node.js的创建者Ryan Dahl有望完全摆脱nginx/apache /,让节点直接与互联网对话.你觉得什么时候会成为现实?
Mig*_*uel 18
nginx和Node都使用异步和事件驱动的方法.他们之间的沟通或多或少会像这样:
您正在询问如果nginx和Node可以处理不同数量的最大连接会发生什么.它们实际上没有最大值,最大值通常来自操作系统配置,例如系统可以一次打开的最大打开句柄数或CPU吞吐量.所以你的问题并不适用.如果系统配置正确且所有进程都受I/O限制,则nginx或Node都不会阻塞.
将Apache置于Node之前只有在您可以保证Apache永远不会阻塞(即它永远不会达到其最大连接限制)时才能正常工作.对于大量连接来说,这很难/不可能实现,因为Apache为每个连接使用单独的进程或线程.nginx和Node规模确实很好,Apache没有.
前面没有其他服务器的运行节点工作正常,对于小型/中型负载站点应该没问题.将Web服务器放在其前面的原因是首选的是像nginx这样的Web服务器具有Node没有的功能,您需要自己实现.诸如缓存,负载平衡,从同一服务器运行多个应用程序等等.
归档时间: |
|
查看次数: |
1895 次 |
最近记录: |