Die Wahl und einen Kometen-Server bereitstellen
Frage
Ich möchte Daten über HTTP an den Browser schieben, ohne meine django / Python-Anwendung zu töten.
Ich beschloss, einen Kometen-Server zu verwenden, um Proxy-Anforderungen zwischen meiner Anwendung und dem Client (obwohl ich noch nicht wirklich richtig herausgefunden).
Ich habe in den folgenden Motoren angesehen: umkreiste cometd ejabberd Anlegestelle
Hat jemand Erfahrung hatte mit diesen Servern arbeiten und den Einsatz von ihnen? Einsicht und Links, um die Themen in Bezug wären toll. Danke.
Lösung
würde ich empfehlen, in Verdrehte suchen, ihre twisted.web Server, und der Komet bei divmod oben drauf geleistete Arbeit. Sie können weit mehr gleichzeitigen Verbindungen als herkömmlicher Thread oder Prozess-basierten Server verarbeiten, das ist genau das, was man für so etwas braucht. Und, ja, ich habe architected Systeme Verdrehte Verwendung für COMET Sachen, während Sie andere Dinge, für die mehr nach vorn gerichtete Web-Anwendungen daneben. Es funktioniert gut mit jedem Teil zu tun, was sie am besten kann.
Andere Tipps
Ich brauche etwas sehr ähnlich zu tun. Ich fand diese, haben aber nicht die Zeit gehabt, es zu betrachten richtig noch:
django_evserver ist einfach http-Server für Django-Anwendungen. Es basiert auf libevent Bibliothek. Der Hauptvorteil von django_evserver ist, dass es bietet Methoden der preempting django Ansichten. Sie können eine Website in mehreren Render jeder von ihnen Brocken, kann durch gehandhabt werden verschiedene django Ansicht.
Mit dieser Idee ist es möglich, zu verwenden, django_evserver als Komet-Server für django-Anwendungen.
Eine Option ist Netty, Client-Server-Socket-Framework basiert auf Java NIO von JBoss. Für einen Vergleich und Diskussion zu sehen. Es behandelt angeblich 100000 gleichzeitige offene Verbindungen auf einem Quad-Core-Server.
Wenn Sie Java ausführen würde ich StreamHub Comet Server empfehlen.
Zum einen in Bezug auf Ihre Bedürfnisse zu Ihrer bestehenden Anwendung ‚zu töten‘, die JavaScript enthalten hat einen wirklich niedrigen Platzbedarf auf weniger als 10K. Ich benutze es, Benutzer-Updates und Chat auf der Social-Networking-Website zum Schieben Ich baue. Getestet habe ich mit einem 1000 Hits pro Tag und es gab keine nennenswerten Auswirkungen auf die CPU.
Zweitens auf dem Einsatz folgte ich einige der Beispiele und war und läuft sehr schnell im Vergleich zu meinem Kopf gegen eine Wand mit CometD hämmern. Es gibt eine gute Comet Hallo Welt bekommen begann Führung und eine Google-Gruppe , wenn Sie auf etwas stecken .
Wenn Sie schauen, Django mit einem Comet-Server (umkreiste) zu kombinieren, um dieses Projekt prüft ich Django zu integrieren haben gehen und umkreiste in als „sauber“ und „real-world“ wie möglich hier: http://github.com/clemesha/hotdot
Die Projektadressen "real-world" Probleme wie Sicherheit und Protokollierung / Filterung / Modifizieren die In-Transit-Comet-Nachrichten, etc. - ist aber immer noch ein work in progress.
Wenn Sie IIS laufen lassen, können Sie WebSync Check-out ( http://www.frozenmountain.com/ websync ), eine standardkonforme (bayeux) comet Server und Client für .NET / IIS. Wenn Sie nicht die zusätzliche Last wollen, die On-Demand-Version ist eine SaaS-Option, die das Heben schwerer Lasten auslagert.