项目实训第四周 --1

学习gunicorn

gunicorn 架构

Gunicorn 是一个 Python 的 WSGI HTTP 服务器。它所在的位置通常是在反向代理(如 Nginx)或者 负载均衡(如 AWS ELB)和一个 web 应用(比如 Django 或者 Flask)之间。

Gunicorn 实现了一个 UNIX 的预分发 web 服务端。
Gunicorn 启动了被分发到的一个主线程,然后因此产生的子线程就是对应的 worker。
主进程的作用是确保 worker 数量与设置中定义的数量相同。因此如果任何一个 worker 挂掉,主线程都可以通过分发它自身而另行启动。
worker 的角色是处理 HTTP 请求。
这个 预 in 预分发 就意味着主线程在处理 HTTP 请求之前就创建了 worker。
操作系统的内核就负责处理 worker 进程之间的负载均衡。

工作模式

同步工作模式(Sync Workers(sync))
这是最基本的工作模式,也是默认的工作模式。
异步工作模式(Async Workers(gevent,eventlet))
gevent和eventlet都是基于Greentlet库,利用python协程实现的。安装方式:
gevent是pip install gunicorn[gevent]
eventlet是pip install gunicorn[eventlet]
Gunicorn允许通过设置对应的worker类来设置对应的worker类来使用这些异步Python库。
Gunicorn 还允许每个 worker 拥有多个线程。在这种场景下,Python 应用程序每个 worker 都会加载一次,同一个 worker 生成的每个线程共享相同的内存空间。
为了在 Gunicorn 中使用多线程。我们使用了 threads 模式。每一次我们使用 threads 模式,worker 的类就会是 gthread:

参考:
https://blog.csdn.net/u014534808/article/details/112576701

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值