【问题标题】:Chat application using django使用 django 的聊天应用程序
【发布时间】:2011-01-06 19:41:40
【问题描述】:

如果我使用 django 开发一个聊天应用程序,它会有一些性能问题吗? 我可以在 django 中进行服务器推送吗? 我也想进行 PM 和房间讨论。

【问题讨论】:

    标签: python django performance chat private-messaging


    【解决方案1】:

    grono.net 有聊天和 ​​PM(虽然没有房间),并且建立在 django 上。性能相当不错,所以我相信你应该能够达到同样的性能。这取决于您期望的连接数量。 grono.net 相当大,它使用一些缓存和服务器分发来表现良好。但这一切在 Django 上都是可行的。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        基本上 Django 并不是最好的方法。

        但是,如果您真的坚持使用它并且不想使用太多解决方案或/并且想要保持简单,您可以尝试使用它:

        http://popcnt.org/2008/01/django-evserver-asynchronous-server-for.html

        Whih 是异步 django 服务器。

        【讨论】:

          【解决方案4】:

          使用tornado怎么样?我尝试了 Tornado 的演示聊天应用程序。 而且 Tornado 声称比 django 有更好的性能。

          让我知道你的想法。

          【讨论】:

            【解决方案5】:

            Twisted 也值得一试。我认为您描述了他们的教程场景。

            【讨论】:

              【解决方案6】:

              我在 Pypi 和 Github 上发布了一个 Django 应用程序,它提供了一个多用户网络聊天。 它基于 Gevent:在多线程环境中运行良好,但在运行超过 1 个 worker 的 gunicorn 等预先分叉的环境中效果不佳。 我只是在写文档。回购是:https://github.com/qubird/django-chatrooms

              【讨论】:

              • 看起来Room和Message对象都存储在数据库中,你能解释一下Redis服务器是干什么用的吗?我正在使用 redis 插件,因为我需要在 mod_wsgi 环境中运行它。
              猜你喜欢
              • 2023-04-07
              • 2019-01-05
              • 1970-01-01
              • 1970-01-01
              • 2023-01-28
              • 2014-08-13
              • 2016-02-15
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多