gpt4 book ai didi

django - django-channels 可以处理多少个并发连接?

转载 作者:行者123 更新时间:2023-12-03 15:47:39 24 4
gpt4 key购买 nike

我正在使用 Django channel 进行聊天应用程序。此应用程序可能会在一段时间内扩展到 10 万并发用户。我想知道 Django Channels 可以处理多少个并发连接。基本上,我将它与 XMPP 服务器进行比较,XMPP 是否是可扩展性的更好选择,还是我应该继续使用 Django channel ?

另外,我使用 redis 层作为 channel 层。我想知道redis层在某个时间点是否会成为瓶颈?

谢谢

最佳答案

ASGI(异步服务器网关接口(interface))旨在提供支持异步的 Python Web 服务器、框架和应用程序之间的标准接口(interface)。

在 Django Channels 中,即使 Django 本身处于同步模式,它也可以异步处理连接和套接字。

Websockets 进入一个名为 Daphne 的服务器(Daphne 是一个用于 ASGI 和 ASGI-HTTP 的 HTTP、HTTP2 和 WebSocket 协议(protocol)服务器,为支持 Django channel 而开发)可以同时处理数百或可能数千个同时打开的连接。

websocket 上的任何事件(连接、收到消息)都会发送到 channel 层,这是一种先进先出队列

Django 工作进程同步地从队列中获取一条消息,对其进行处理,然后循环返回以获取另一条消息。

因此,打开的连接数会影响您运行的 Daphne 实例的数量。事件的吞吐量会影响您运行的工作人员数量。

关于django - django-channels 可以处理多少个并发连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55932665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com