我考虑部署高可用 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 ..)有什么优势吗?
- 我还想知道哪种解决方案最适合 websockets 或长轮询请求?