在 nginx 反向代理中严格隔离流量?

在 nginx 反向代理中严格隔离流量?

我已将 nginx 配置为反向代理。它代理两个不受我控制的上游:Speedy 和 Flaky。

迅速始终保持较高的正常运行时间和较低的响应时间。

片状有时会出现停机时间和相对缓慢的响应时间,通常响应时间需要 3 秒或更长时间。

问题是,有时当 Flaky 的响应时间激增时,会导致 Speedy 超时。我认为这是因为所有可用的连接都被堵塞,等待 Flaky 的响应。我已经尝试了各种缓解策略,例如max_fails在 Flaky 的upstream配置中采用,但问题仍然存在。

我的问题是,我是否可以在同一台机器上运行两个完全独立的 nginx 实例:一个仅处理 Speedy 的请求,另一个仅处理 Flaky 的请求。

(我想后续的问题是这是否有可能解决问题并确保 Speedy 不受 Flaky 的不稳定性的影响。)

答案1

我会限制流向 Flaky 的资源。查看 limit_conn 和 limit_conn_zone。使用相同的变量来决定哪个后端接收请求。

相关内容