Gunicorn创建了多少个应用实例?

问题描述 投票:6回答:1

我是新手,对Gunicorn + Flask的工作原理有误解。

当我用4个worker运行Gunicorn时,它会创建4个Flask应用实例,还是会创建4个处理来自Nginx的web请求的进程和一个Flask应用实例?

如果我在我的应用中简单的实现内存缓存(比如字典),Gunicorn会不会创建多个应用实例,从而创建多个缓存实例?

python flask parallel-processing gunicorn
1个回答
9
投票

它将创建4个Gunicorn Worker来处理一个Flask应用。如果你旋转一个flask应用的4个实例(例如使用docker),你将需要运行4次gunicorn。最后,为了处理所有这些flask实例,你将需要一个Nginx服务器在前面充当负载平衡器。

例如,如果一个用户正在做一个注册程序,由于对数据库的多次查询而花费了大量的时间,你仍然有另一个工作者将请求发送到flask实例。

我明白我们的观点,但Flask还没有准备好WSGI,这是标准的。Gunicorn在生产中扮演的是这个角色,所以你可以获得更多的可靠性,而不是使用附带的Develpment标准Werkzeug服务器。换句话说,Gunicorn只是你flask对象的一个包装器。它只是处理请求,让Flask做自己的事情。

© www.soinside.com 2019 - 2024. All rights reserved.