我有一个由Gunicorn提供服务的Django应用程序。我想向其中添加WebSocket通知,使用PostgreSQL作为消息队列,并使用geventsocketio或tornadio作为WebSocket服务器。
我可以使用相同的Gunicorn进程来服务WebSockets吗?或者,我需要另一个运行gevent的SocketIOServer
或tornadio的SocketServer
的进程吗
是的,例如,您可以将geventsocketio与Django一起使用,并且只有一个进程为所有请求运行。默认情况下,socket-io请求会转到/socket.io/
-您甚至可以对socketio请求和其他请求使用相同的URL,但将它们保留在子路径中是有意义的(例如,对于代理配置)。
但是,尽管如此,有一个单独的进程来服务正常的HTTP请求(例如,一些简单的负载平衡等)可能是有意义的。