zoukankan      html  css  js  c++  java
  • flask+gevent的异步框架

    一:flask本身的框架时什么?

    基于Wsgi的Web应用框架

    二:为什么要实现异步架构?

    增加并发处理能力

    三:实现异步架构

    from gevent import monkey
    from gevent.pywsgi import WSGIServer
    from geventwebsocket.handler import WebSocketHandler
      monkey.patch_all()
    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route("/")
    def index():
        pass
    
    if __name__ == "__main__":
    
        http_server = WSGIServer(("0.0.0.0", 12002), app,handler_class=WebSocketHandler)
        try:
            http_server.serve_forever()
        except KeyboardInterrupt:
            print("server has been stoped")
    注意:为实现 Flask 与 gevent 的结合,需在程序开头引入 monkey patch。monkey patch 将以闭包的形式修改可以实现异步的标准库,从而实现异步。
    注意:需使用支持 gevent 的 WSGI,例如:gevent.pywsgi、gunicorn 等
     
    四:什么是wsgi?
    Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口
     
    五:什么是uwsgi?
    uwsgi是一种通信协议,不过跟WSGI分属两种东西,该协议下速度比较快。
     
    六:什么是uWSGI?
    uWSGI是一个Web Server,并且独占uwsgi协议,但是同时支持WSGI协议、HTTP协议等,它的功能是把HTTP协议转化成语言支持的网络协议供python使用。
     
     
  • 相关阅读:
    迭代器模式-Iterator
    kubernetes之一 k8s基本概念
    多线程中的异常处理
    MySQL高可用集群方案
    RabbitMQ的集群模式
    多线程中如何取消任务
    公钥、私钥、摘要、数字签名、证书
    将Ubuntu系统迁移到SSD固态操作
    Java线程的状态和状态转换
    Ubuntu18.04系统和软件安装记录
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/12036951.html
Copyright © 2011-2022 走看看