python的gunicorn我想大家都知道,他是个能快速让web程序支持多并发的模块…  我想大家对于gunicorn不是很了解,这边就简单的说下gunicorn的工作流程… 其实实现gunicorn本身那套东西不太难,但是理解gunicorn那套东西,尤其是看懂其代码,那真是很不容易…   我现在也就紧紧看了他的主要的实现模块代码。 

文章继续跟进中,请到原文地址查看更新. http://xiaorui.cc/?p=2401

先简单说下,gunicorn的基本流程.

1. 首先他构建Master Worker的工作模型,Master负责调度Worker进程增删杀,而且他还会listen一个端口,或则是unix socket上。

2. 他用过PIPE传递listen注册上的fd文件描述符

3. 真正的worker做的事情很简单,紧紧是通过listening fd不断的accept接受请求而已.  

对于第三步,sync.py是这么实现的,如果是gevent thread的gunicorn worker最后要做的事情差不多,只是handler的动作换成了不同的worker调度器而已。 

先讲流程,过两天把gunicorn代码整理出来后,继续跟进…



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

深入理解uwsgi和gunicorn网络模型[上]

前言:        去年10月份建了一个python技术群,到现在为止人数已经涨到700人了。最一开始我经常在群里回应大家的问题,不管是简单...

阅读全文

简化gunicorn源代码打造Master Worker进程管理框架

我在github中提交了不少大大小小的项目,很多时候因为在公司场景中用到的项目,就想当然的以为别的公司肯定也有用到。但是到头来,会发现我开源的那些项目...

阅读全文

用gunicorn和gevent提高python web框架的性能

这两天在准备ppt,里面有涉及到WSGI的应该用,以前自己在51cto写过关于gunicorn的文章,所以就转了过来。那么不扯淡了。 其实比如 Flask,webpy,Dj...

阅读全文

发表评论