gpt4 book ai didi

nginx - 使用 nginx 和 uWSGI 的多个服务器进程

转载 作者:行者123 更新时间:2023-12-04 04:11:12 26 4
gpt4 key购买 nike

我注意到你可以在 nginx 后面的一个 uWSGI 实例中启动多个进程:

uwsgi --processes 4 --socket /tmp/uwsgi.sock

或者您可以在不同的套接字上启动多个 uWSGI 实例,并使用 nginx 在它们之间进行负载平衡:
upstream my_servers {
server unix:///tmp.uwsgi1.sock;
server unix:///tmp.uwsgi2.sock;
#...
}

这两种策略之间有什么区别,一种比另一种更受欢迎?

由 nginx 完成的负载均衡(在第一种情况下)与由 uWSGI 完成的负载均衡(在第二种情况下)有何不同?

nginx 可以在多个主机上前置服务器。 uWSGI 可以在单个实例中执行此操作吗?某些 uWSGI 功能是否只能在单个 uWSGI 进程(即共享内存/缓存)中工作?如果是这样,可能很难从第一种方法扩展到第二种方法......

最佳答案

不同之处在于,在 uWSGI 的情况下,没有“真正的”负载平衡。第一个空闲进程将始终响应,因此这种方法比在多个实例之间使用 nginx 负载平衡要好得多(这显然仅适用于本地实例)。你需要考虑的是“雷群问题”。它的含义在这里暴露:http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html .

最后,所有 uWSGI 功能都是多线程/多进程(和绿色线程)感知的,因此缓存(例如)由所有进程共享。

关于nginx - 使用 nginx 和 uWSGI 的多个服务器进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com