Nginx将客户端IP路由到相同的Worker进程

阅读有关Nginx架构和来自https://www.nginx.com/blog/inside-nginx-how-we-designed-for-performance-scale/的这个图表是有意义的;

NGINX主-工作器件架构

我的目标是告诉Nginx主进程始终将来自同一客户端的请求路由到相同的Worker进程,方法是保留客户端IP -> Worker PID的表格。是否有配置选项指定主-> Worker路由的工作方式?

例如,假设以下请求->工作者情况:

IP              Worker PID
18.234.1.200    1000
18.234.1.199    1001
18.234.1.200    1000
18.234.1.198    1002
18.234.1.197    1000
18.234.1.200    1000

请注意,一个新的客户端IP 18.234.1.197也可以路由到具有PID 1000的Worker,但18.234.1.200 IP始终将路由到Worker 1000。

如果没有配置选项,但我可以编写一些Lua代码,因为我经常使用Nginx Lua,所以这是可能的。有关如何影响主-> Worker选择的直觉将是令人敬畏的。

点赞