从https://www.nginx.com/blog/inside-nginx-how-we-design-for-performance-scale/了解 Nginx 架构和此图 是有意义的;
我想要做的是告诉 Nginx 主进程始终将来自同一个客户端的请求路由到同一个 Worker,方法是保留一个客户端 IP -> Worker PID 表。是否有配置选项来指定 Master-> Worker 路由的工作方式?
例如假设以下 request-> 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,所以这是可能的。关于如何影响 Master->Worker 选择的一些直觉会很棒。