zoukankan      html  css  js  c++  java
  • Gunicorn 文档翻译

    服务器模式

    Gunicorn 基于 pre-fork 模式,这意味着有一个主进程管理工作的子进程.主进程对客户端的工作业务有了解.所有的请求和响应都是工作子进程处理.

     

    主进程

    主进程是一个简单的循环,监听各种进程的信号并做出相应的反应.它通过监听信号(比如TTIN/TTOU/CHLD)来管理正在运行的工作进程.TTIN和TTOU告诉主进程增加或减少工作的进程数量.CHLD表明一个子进程被终止了,这时主进程就重启这个失败的进程.

     

    同步工作进程

    最基础并且是默认的工作类是同步工作模式,一个时间只处理一个请求.这个模式是最简单的因为任何错误只会影响一个请求.

     

    异步工作

    异步工作基于Greenlets,这是python对协成的一个实现.一般来说,一个应用可以在不进行任何修改的情况下使用Greenlets.

     

    选择工作类型

    默认的同步工作类型是假设你的应用是资源限制型(CPU和带宽受限),这意味着你的应用做的任何事情都不会花费太多的时间.比如,访问网络就符合这个条件.

    资源限制的假设就是为什么我们需要一个缓冲代理在默认配置的Gunicorn前面.如果你对外暴露同步模式的工作进程,a DOS attack would be trivial by creating a load that trickles data to the servers.严重的,Slowloris 就是这种类型加载的一个例子.

    默认的同步工作模式是在Nginx的基础上设计的,上传服务只用了HTTP/1.0.如果你想部署Gunicorn来处理未经缓冲的请求(比如,直接处理外部网络请求),你需要用异步的模式.

    下面是一些需要异步工作类型的行为例子:

    1. 你的应用有长时间阻塞的调用(比如:请求外部web services)

    2. 直接服务于网络请求(Serving requests directly to the internet)

    3. 流式的请求和相应(Streaming requests and responses)

    4. 长轮询

    5. web sockets

    原文:http://docs.gunicorn.org/en/latest/design.html

    欢迎批评指正,欢迎大家一起来完善~

  • 相关阅读:
    tsql导出EXCEL语句待测试
    IE和Firefox下event乱谈
    cf 167.d( 多重集全排列 )
    poj 1815(最小割 + 枚举)
    Codeforces Round #167 (Div. 2)
    poj 3308(最小割+对数处理)
    在FootTemplate与ItemTemplate中间扩展Repeater模板
    在没有高度设定的情况下让margintop生效
    float:left后整体居中
    判断ExecuteScalar()是否返回结果
  • 原文地址:https://www.cnblogs.com/olivetree123/p/4580183.html
Copyright © 2011-2022 走看看