Question

Je souhaite transmettre des données au navigateur via HTTP sans détruire mon application django / python.

J'ai décidé d'utiliser un serveur comète pour effectuer des requêtes proxy entre mon application et le client (même si je ne l'ai toujours pas vraiment compris correctement).

J'ai examiné les moteurs suivants: en orbite cometd ejabberd jetée

Quelqu'un a-t-il déjà travaillé avec ces serveurs et les déployé? Toute idée ou lien concernant les sujets serait formidable. Merci.

Était-ce utile?

La solution

Je recommanderais d’examiner Twisted, son serveur web twisted.web et le travail effectué sur les comètes effectué sur Divmod. Ils peuvent gérer beaucoup plus de connexions simultanées que les serveurs traditionnels basés sur des threads ou des processus, ce qui est exactement ce dont vous avez besoin pour quelque chose comme ça. Et, oui, j'ai architecturé des systèmes utilisant Twisted pour COMET, tout en utilisant d'autres éléments pour les applications Web plus frontales. Cela fonctionne bien avec chaque partie qui fait ce qu’elle fait de mieux.

Autres conseils

Je dois faire quelque chose de très similaire. J'ai trouvé cela, mais je n'ai pas encore eu le temps de l'examiner correctement:

  

django_evserver est un simple serveur http   pour les applications Django. C'est basé sur   bibliothèque libevent. L'avantage principal   de django_evserver est qu'il fournit   méthodes de préemptions des vues django.   Vous pouvez rendre un site en plusieurs   morceaux, chacun d’eux peut être manipulé par   vue django différente.

     

En utilisant cette idée, il est possible d'utiliser   django_evserver en tant que serveur comète pour   applications Django.

http://code.google.com/p/django-evserver/

L’une des options possibles est Netty, un framework de socket client-serveur basé sur Java NIO de JBoss. Pour une comparaison et une discussion, voir ici . Il aurait géré 100 000 connexions ouvertes simultanées sur un serveur quad-core.

Si vous pouvez utiliser Java, je vous recommanderais StreamHub Comet Server .

Premièrement, en ce qui concerne votre besoin de ne pas "tuer" votre application existante, l’inclusion JavaScript a une empreinte très faible, inférieure à 10 000 $. Je l'utilise pour diffuser des mises à jour d'utilisateurs et discuter sur le site de réseau social que je construis. J'ai testé avec plus de 1000 hits par jour et il n'y avait aucun effet notable sur le processeur.

Deuxièmement, lors du déploiement, j’ai suivi certains des exemples et j’ai été opérationnel très rapidement par rapport à me cogner la tête contre un mur avec CometD. Il y a un bon Comet Hello World Guide de démarrage et groupe Google en cas de blocage. .

Si vous souhaitez associer Django à un serveur Comet (Orbited), vérifiez le projet que je vais intégrer à Django et Orbited en tant que "nettoyage". et " real world " possible ici: http://github.com/clemesha/hotdot

Le projet aborde "& real; real world " des problèmes tels que la sécurité et la journalisation / filtrage / modification des messages Comet en transit, etc. - mais cela reste un travail en cours.

Si vous utilisez IIS, vous pouvez consulter WebSync ( http://www.frozenmountain.com/ Websync ), un serveur comète et client conforme aux normes (Bayeux) pour .NET / IIS. Si vous ne voulez pas de charge supplémentaire, la version à la demande est une option SaaS qui décharge le poids du travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top