WSGI
WSGI web server gateway interface ,WSGI是一种规范,用于seb server 和 web application 之间的通信规范
WSGI协议主要包括server和application两部分:
-
WSGI server负责从客户端接收请求,将request转发给application,将application返回的response返回给客户端;
-
WSGI application接收由server转发的request,处理请求,并将处理结果返回给server。application中可以包括多个栈式的中间件(middlewares),这些中间件需要同时实现server与application,因此可以在WSGI服务器与WSGI应用之间起调节作用:对服务器来说,中间件扮演应用程序,对应用程序来说,中间件扮演服务器。
uWSGI
uWSGI旨在为部署分布式集群的网络应用开发一套完整的解决方案。主要面向web及其标准服务。由于其可扩展性,能够被无限制的扩展用来支持更多平台和语言。uWSGI是一个web服务器,实现了WSGI协议,uwsgi协议,http协议等。
uWSGI的主要特点是:
-
超快的性能
-
低内存占用
-
uWSGI服务器自己实现了基于uwsgi协议的server部分,我们只需要在uwsgi的配置文件中指定application的地址,uWSGI就能直接和应用框架中的WSGI application通信。
-
可插拔架构,支持多语言多平台
-
多app管理
-
详尽的日志功能(可以用来分析app的性能和瓶颈)
-
高度可定制(内存大小限制,服务一定次数后重启等)