Si je devlop une application de chat en utilisant django aura-t-elle un problème de performance? Est-ce que je peux faire pousser le serveur en django? Je veux aussi avoir des discussions de salle et de salle.Application de chat en utilisant django
Répondre
grono.net a chat et PM (bien qu'il n'y a pas de pièces) et est construit sur django. La performance est plutôt bonne, donc je crois que vous devriez être en mesure d'atteindre la même performance. Cela dépend du nombre de connexions que vous attendez. grono.net est assez gros et utilise un peu de cache et de distribution de serveur pour bien fonctionner. Mais tout est faisable sur Django.
Je pense que pour une application de chat, vous pouvez utiliser d'autres technologies, comme AMQP (RabbitMQ, etc.), Comet, etc. Mais, pour développer un profil utilisateur, PMs, et d'autres, vous pouvez utiliser Django.
Ne pas oublier que la performance dépend encore de la configuration du serveur (logiciel serveur web, cache, db)
Fondamentalement Django est pas la meilleure façon de le faire.
Cependant, si vous tenez vraiment et ne voulez pas utiliser pour des solutions bien ou/et que vous voulez le garder simple, vous pouvez essayer avec elle:
http://popcnt.org/2008/01/django-evserver-asynchronous-server-for.html
whih est django asynchrone serveur.
Comment utiliser tornado? J'ai essayé l'application de démo chat de Tornado. Et aussi Tornado prétend avoir une meilleure performance que django.
Laissez-moi vos pensées.
Egalement Twisted vaut le détour. Je pense que vous avez décrit leur scénario tutoriel.
J'ai publié une application Django sur Pypi et Github qui fournit un chat web multi-utilisateur. Il est basé sur Gevent: fonctionne bien dans les environnements multithread, mais pas dans ceux pré-fourchus tels que gunicorn exécutant plus de 1 travailleur. Je suis en train d'écrire la documentation. Le repo est: https://github.com/qubird/django-chatrooms
Il semble que les objets Room et Message sont stockés dans la base de données. Pouvez-vous expliquer à quoi sert le serveur Redis? J'utilise le plugin redis car j'ai besoin de l'exécuter dans un environnement mod_wsgi. – sureshvv