Nginx / uwsgi请求缓冲区或队列

我们的Web服务器在nginx + uwsgi后面运行一个Python应用程序。

有时我们有短暂的高峰(2-5倍平均无需求)一秒钟导致一些请求获得502如果没有工人可用来处理它们。

有没有办法让nginx或uwsgi排队这些请求,并在工作人员可用时提供服务?

反应时间短暂增加会更好,而不会出现错误;-)

nginx没有办法做到这一点 。 指令队列仅作为Nginx 商业订阅的一部分提供。 https://nginx.ru/en/docs/http/ngx_http_upstream_module.html#queue

一个好的决定是用nginx uwsgi_next_upstream指令运行几个(2个或更多) uwsgi后端https://nginx.ru/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_next_upstream

你也可以尝试error_page 502 =307 http://backup.example.com/;