应用Gunicorn创建了多少个实例

Kal*_*xey 6 python parallel-processing flask gunicorn

我是新手,并且误解了Gunicorn + Flask的工作方式.

当我使用4名工作人员运行Gunicorn时,它会创建我的Flask应用程序的4个实例,或者它将创建4个处理来自Nginx和Flask应用程序实例的Web请求的进程?

如果我在我的应用程序中简单地实现内存缓存(例如字典),那么gunicorn会创建多个app实例,因此会创建多个缓存实例吗?

CES*_*SCO 7

它将创建4个gunicorn工作人员来处理一个烧瓶应用程序.如果你旋转一个烧瓶应用程序的4个实例(例如用docker)你将需要运行gunicorn 4次.要处理所有这些烧瓶实例,您需要在它前面使用Nginx服务器作为负载均衡器.

例如,如果一个用户正在执行一个注册例程,该例程由于对数据库的多次查询而花费大量时间,您仍然有另一个工作人员将请求发送到flask实例.

我明白我的意思,但Flask并不是WSGI准备好的,这是标准.Gunicorn在生产中扮演着这个角色,因此您可以获得更高的可靠性,而不是使用随附的Develpment标准Werkzeug服务器.换句话说,Gunicorn只是你烧瓶对象的包装.它只是处理请求,让Flask做它的事情.