如果我使用Django开发聊天应用,会有性能问题吗? 在Django中我是否可以实现服务器推送(server push)? 我还想拥有私信(PM)和房间讨论功能。
如果我使用Django开发聊天应用,会有性能问题吗? 在Django中我是否可以实现服务器推送(server push)? 我还想拥有私信(PM)和房间讨论功能。
我在Pypi和Github上发布了一个Django应用程序,提供多用户Web聊天功能。它基于Gevent:能够在多线程环境中良好运行,但不适用于预先派生工作进程的环境,例如gunicorn运行超过1个worker。我正在编写文档。这是仓库链接:https://github.com/qubird/django-chatrooms
grono.net有聊天和私信功能(虽然没有房间),并且是基于Django构建的。性能相当不错,因此我相信您应该能够实现相同的性能。这取决于您期望有多少连接。grono.net非常大,并且使用了一些缓存和服务器分发来保持良好的性能。但是在Django上所有这些都是可行的。
我认为对于聊天应用程序,您可以使用其他技术,例如AMQP(RabbitMQ等),Comet等。 但是,对于开发用户配置文件、私信和其他内容,您可以使用Django。
不要忘记性能仍然取决于服务器配置(Web服务器软件、缓存、数据库)。
基本上,Django 不是最好的解决方案。
然而,如果你真的坚持使用它,并且不想使用太多解决方案或者想保持简单,你可以尝试使用它:
http://popcnt.org/2008/01/django-evserver-asynchronous-server-for.html
这是一个异步的Django服务器。