Ana*_*sis 10 python django django-channels
通常,在Django中使用ASGI代替WSGI进行HTTP请求的明显和明显的缺点是什么?
我知道ASGI用于异步任务,但它也可以通过http.*通道处理同步HTTP请求。它比普通的WSGI慢吗?还是与WSGI相比有不受支持的功能?
另外,要在同一项目中同时提供REST API和websocket处理,您更喜欢哪种方式,为什么呢?
kag*_*ick 15
我认为您会发现的一个主要缺点是 ASGI 服务器较新,因此测试较少,可能功能较少,数量较少,并且可能背后的社区较小。但是,我使用 ASGI 服务器(Daphne)来处理所有事情,并且觉得 websockets 在用户体验方面提供了如此多的东西,以至于一切最终都会转移到 ASGI。
能够在您的代码中使用 asyncio 是 Web 编程的一个主要好处。您可以同时运行 10 个查询,而不是一个接一个地运行 10 个查询并等待每个查询返回,同时在单个线程上访问缓存并同时发出 HTTP 请求。
小智 7
我没有做任何基准测试,但是在几个项目中同时使用了 WSGI 和 ASGI,并且没有看到它们的性能之间有任何足够的差异,所以如果 Django WSGI 性能对你来说是可以接受的,那么 ASGI 也可以工作。
对于 REST + websockets API,我对两者都使用了 ASGI。如果您在项目中启用了 ASGI(WSGI 在 ASGI 上工作),则没有理由使用 WSGI。
| 归档时间: |
|
| 查看次数: |
5706 次 |
| 最近记录: |