如何将web套接字与django wsgi集成
我们目前有一个非常复杂的Django应用程序
apache / mod_wsgi并部署在a后面的多个AWS EC2实例上 AWS ELB负载均衡器.客户端应用程序与服务器交互 使用 AJAX.他们还定期轮询服务器以检索通知 并更新他们的州.我们希望删除民意调查并更换 它使用“推”,使用网络套接字. 因为任意实例处理来自客户端的Web套接字请求 我们意识到apache / mod_wsgi不适合使用web套接字和 具体情况是这样的:发出HTTP请求的用户是 事实上,这个问题的根源归结为web套接字如何 任何人都可以解释Web套接字和基于WSGI的HTTP请求 谢谢. 解决方法
我认为你已经做出了正确的评估,即mod_wsgi websockets是一个令人讨厌的组合.
您会发现所有wsgi工作者都被Web套接字占用,并且由于内存使用和上下文切换,尝试(大规模)增加工作池的大小可能会阻塞服务器. 如果你喜欢坚持同步wsgi工作者架构(而不是gevent,twisted,tornado等实现的被动方法),我建议将uWSGI作为应用服务器.最新版本可以旧方式处理某些URL(即您现有的django视图仍然可以像以前一样工作),并将其他URL路由到异步websocket处理程序.这对您来说可能是一个相对平稳的迁移路径. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |