【发布时间】:2012-12-18 06:45:59
【问题描述】:
我认为部署高可用 Python Web 应用的场景如下:
- 负载平衡器 -* wsgi 服务器
- 负载平衡器 -* 生产 HTTP 服务器 - wsgi 服务器
- 生产 HTTP 服务器(具有负载平衡功能,如 Nginx)-* wsgi 服务器
对于负载均衡器,我考虑 HAProxy
对于生产 HTTP 服务器,我考虑 Nginx
对于 wsgi 服务器,我的意思是直接处理 wsgi 应用程序的服务器(gevent、waitress、uwsgi...)
-* 表示一对多连接
- 表示一对一连接
没有可提供的静态内容。所以我想知道是否需要生产 HTTP 服务器。
- 每种解决方案的优缺点是什么?
- 对于每个场景 (1-3),代替 wsgi 服务器 使用 wsgi 容器服务器(uWSGI、gunicorn)而不是原始 wsgi 服务器(gevent、tornado..)是否有任何优势?
- 我还想知道哪种解决方案最适合 websocket 或长轮询请求?
【问题讨论】: