1
julyclyde 2023-07-31 19:25:20 +08:00 1
参加展会的时候,各展台都会给一个手提袋
外面画着自家的广告,里面装着别家的手提袋 |
3
ruanimal 2023-07-31 20:14:02 +08:00
https://www.uvicorn.org/#running-with-gunicorn
read the fucking doc This allows you to increase or decrease the number of worker processes on the fly, restart worker processes gracefully, or perform server upgrades without downtime. |
4
MRlaopeng OP ,,我来看看
|
6
ruanimal 2023-07-31 20:26:51 +08:00
@MRlaopeng 就是 gunicorn 的功能更多,比如动态调整 worker 数量。如果你不需要这些功能,直接用 uvicorn 应该也是可以的吧
|
8
locoz 2023-07-31 23:46:17 +08:00
@ruanimal #6 是可以的,比如在 k8s 环境中部署时,就没必要用 gunicorn ,直接用 uvicorn + k8s 自身的管理方式就行
|
9
joApioVVx4M4X6Rf 2023-08-01 09:31:24 +08:00
说白了就是功能多。。。那就套娃呗
|
13
panxi 2023-08-01 18:35:40 +08:00 1
你提到的这个问题非常有意义。Uvicorn 确实可以单独作为 ASGI 服务器运行,而 Gunicorn 通常用于运行 WSGI 应用程序。但是,当你将它们结合在一起使用时,会有一些特定的好处:
1. **稳定性**:Gunicorn 作为一个长期存在且经过良好测试的项目,它的稳定性和健壮性是有保障的。通过将 Gunicorn 与 Uvicorn 结合使用,可以利用 Gunicorn 的管理能力和稳定性,以及 Uvicorn 的异步性能。 2. **进程管理**:Gunicorn 提供了一些强大的进程管理功能,例如工作进程的启动、停止和重启。当系统负载增加时,它可以更好地管理资源,而 Uvicorn 单独运行时可能没有这些特性。 3. **部署的简化**:对于那些已经习惯使用 Gunicorn 来部署 WSGI 应用程序的组织来说,将 Gunicorn 与 Uvicorn 结合使用可以简化迁移到 ASGI 的过程。团队可以利用现有的 Gunicorn 部署、监控和日志记录基础设施。 4. **配置灵活性**:Gunicorn 提供了许多配置选项和插件,可以方便地自定义应用程序的行为。与 Uvicorn 结合使用时,你可以利用这些灵活性,并允许在同一台机器上同时运行 WSGI 和 ASGI 应用程序。 5. **负载均衡**:Gunicorn 能够在多个工作进程之间进行负载均衡。这不仅能够更好地利用多核 CPU ,还可以增加系统的可扩展性和冗余性。 总而言之,尽管 Uvicorn 单独使用具有优势,但将 Gunicorn 与 Uvicorn 结合使用可以提供额外的稳定性、灵活性和管理功能。这种组合在具有大量流量和需要高可用性的生产环境中可能尤为有用。 by GPT |