当 Nginx 用作反向代理以便客户端连接到 Nginx 和 Nginx 负载平衡或以其他方式通过 CGI 等将请求重定向到后端工作人员时......它被称为什么以及当工作人员直接响应时它是如何实现的客户端绕过 Nginx?
我的问题来自两个地方。a) erlangonxen 使用 Nginx 和“spawner”应用程序来启动大量即时工作人员。但是,响应仍然通过 spawner(一个昂贵的步骤);b) 我最近浏览了一篇描述此解决方案的文章,但找不到了。
当 Nginx 用作反向代理以便客户端连接到 Nginx 和 Nginx 负载平衡或以其他方式通过 CGI 等将请求重定向到后端工作人员时......它被称为什么以及当工作人员直接响应时它是如何实现的客户端绕过 Nginx?
我的问题来自两个地方。a) erlangonxen 使用 Nginx 和“spawner”应用程序来启动大量即时工作人员。但是,响应仍然通过 spawner(一个昂贵的步骤);b) 我最近浏览了一篇描述此解决方案的文章,但找不到了。
我不确定这是否是行话。好消息(无论如何对我来说)是我已经阅读了文章并看到了图表......我只是不记得在哪里。所以反向代理无法承受......我正在寻找“直接服务器请求”(DSR)和来自erlangonxen项目的产卵器。
我不确定这两种技术是否会协同工作。DSR 似乎已经失宠,我可能不会全部使用它,尽管在给定的架构中尝试似乎是有意义的。a) 限制行程和插座的总数;b) 确实允许像 gzip 这样的功能很好地分发
无论如何,“找到它”。
我相信你的术语混杂了,所以我将忽略代理位并假设这是关于 CGI 的。在这种情况下,您应该寻找快速的 CGI 解决方案。Nginx 支持内置的快速 CGI。
正如你所说的,这个 spawner 旨在提供并发性,以便可以并行处理多个 CGI 请求,而不必为每个请求生成一个解释器。相反,工人们会产生并理想地永远活着。
如果选择可用的 worker 确实是性能瓶颈,那么这个快速 CGI 守护进程的实现就严重不足,您应该寻找更好的解决方案。工人选择应该是工人工作时间的一小部分。