聊天应用程序使用Django

10

如果我使用Django开发聊天应用,会有性能问题吗? 在Django中我是否可以实现服务器推送(server push)? 我还想拥有私信(PM)和房间讨论功能。

6个回答

6
如何使用tornado?我尝试了Tornado的演示聊天应用程序。此外,Tornado声称比Django具有更好的性能。
请告诉我你的想法。

6

我在Pypi和Github上发布了一个Django应用程序,提供多用户Web聊天功能。它基于Gevent:能够在多线程环境中良好运行,但不适用于预先派生工作进程的环境,例如gunicorn运行超过1个worker。我正在编写文档。这是仓库链接:https://github.com/qubird/django-chatrooms


看起来Room和Message对象都存储在数据库中,那么你能解释一下Redis服务器的作用吗?我正在使用redis插件,因为我需要在mod_wsgi环境中运行它。 - sureshvv

1

grono.net有聊天和私信功能(虽然没有房间),并且是基于Django构建的。性能相当不错,因此我相信您应该能够实现相同的性能。这取决于您期望有多少连接。grono.net非常大,并且使用了一些缓存和服务器分发来保持良好的性能。但是在Django上所有这些都是可行的。


1

我认为对于聊天应用程序,您可以使用其他技术,例如AMQP(RabbitMQ等),Comet等。 但是,对于开发用户配置文件、私信和其他内容,您可以使用Django。

不要忘记性能仍然取决于服务器配置(Web服务器软件、缓存、数据库)。


1

1

还有Twisted值得一看。我认为你描述了他们的教程情景。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接