python作为服务端语言来说还是比较吃力的,毕竟不像java有那么完善的解决方案。这里分享一个用flask+gunicorn+gevent来实现高并发的后台。代码只是一个功能的抽象表达,只不过刚好可以在计算机上运行而已,所以这个项目结构很多地方是可以个性化修改的,我这里只是展示了我的用法。
关键词:python、flask、restful、gunicorn、gevent
项目地址:https://github.com/zmy537565154/flask-project
flask是一个比较轻的框架,当然很多功能都要自己实现。用flask自带的webserver,每收到一个请求会新建一个线程,所以请求并发数高的话会很慢。gunicorn来实现webserver,会启动多个进程,通过gevent模式来运行,会达到协程的效果,每来一个请求会自动分配给不同的进程来执行。
上图:
解释一下项目的结构:
app
没什么好说的,django、tornado都有这个文件夹,整个项目的逻辑代码都在这里
app.__init__
在这里可以写入项目启动时要加载的内容,以及注册蓝本。额外初始化的内容可以根据不同的环境进行不同的初始化操作。
from flask import Flask
from conf.confi