Приложение чата с использованием Django
Если я создаю чат-приложение с использованием django, у него будут проблемы с производительностью? Могу ли я сделать толчок сервера в Django? Я хочу, чтобы у меня также был личный кабинет и обсуждения в комнате.
6 ответов
Я выпустил приложение Django для Pypi и Github, которое предоставляет многопользовательский веб-чат. Он основан на Gevent: хорошо работает в многопоточных средах, но не в предварительно разветвленных, таких как gunicorn, на котором работает более 1 работника. Я просто пишу документацию. Репо: https://github.com/qubird/django-chatrooms
Как насчет использования торнадо? Я попробовал демо-приложение чата Торнадо. А также Tornado утверждает, что имеет лучшую производительность, чем Django.
Дайте мне знать, что вы думаете.
Я думаю, что для приложения чата вы можете использовать другие технологии, такие как AMQP(RabbitMQ и т. Д.), Comet и т. Д. Но для разработки профиля пользователя, PM и других вы можете использовать Django.
Не забывайте, что производительность по-прежнему зависит от конфигурации сервера (программное обеспечение веб-сервера, кеш, дб)
Также стоит проверить Twisted. Я думаю, что вы описали их учебный сценарий.
По сути, Django - не лучший способ сделать это.
Однако, если вы действительно придерживаетесь этого и не хотите использовать много решений или / и хотите сохранить его простым, вы можете попробовать это:
http://popcnt.org/2008/01/django-evserver-asynchronous-server-for.html
Который является асинхронным сервером Django.
http://grono.net/ имеет чат и личные сообщения (хотя нет комнат) и построен на django. Производительность довольно хорошая, поэтому я считаю, что вы должны достичь той же производительности. Это зависит от того, сколько соединений вы ожидаете. grono.net довольно большой, и для своей работы он использует некоторое кэширование и распределение серверов. Но все это выполнимо на Джанго.