Domanda

Voglio inviare i dati al browser su HTTP senza uccidere la mia applicazione django / python.

Ho deciso di utilizzare un server di comete, per delegare le richieste tra la mia applicazione e il client (anche se non l'ho ancora capito bene).

Ho esaminato i seguenti motori: orbita cometd ejabberd pontile

Qualcuno ha avuto esperienza di lavoro con questi server e la loro distribuzione? Qualsiasi approfondimento e link riguardanti gli argomenti sarebbero grandiosi. Grazie.

È stato utile?

Soluzione

Consiglierei di esaminare Twisted, il loro server twisted.web e il lavoro della cometa svolto su di esso su Divmod. Possono gestire connessioni molto più simultanee rispetto ai tradizionali thread o server basati su processi, che è esattamente ciò di cui hai bisogno per qualcosa del genere. E, sì, ho progettato sistemi usando Twisted per COMET, mentre usavo altre cose per le applicazioni web più frontali al suo fianco. Funziona bene con ogni parte che fa quello che fa meglio.

Altri suggerimenti

Devo fare qualcosa di molto simile. Ho trovato questo, ma non ho ancora avuto il tempo di guardarlo correttamente:

  

django_evserver è un semplice server http   per applicazioni Django. Si basa su   libreria libevent. Il vantaggio principale   di django_evserver è che fornisce   metodi per anticipare le viste del django.   È possibile eseguire il rendering di un sito in più   blocchi, ognuno di essi può essere gestito da   diversa vista django.

     

Usando questa idea è possibile usare   django_evserver come server cometa per   applicazioni django.

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

Un'opzione è Netty, framework socket client-server basato su Java NIO di JBoss. Per un confronto e una discussione vedi qui . Secondo quanto riferito, gestisce 100000 connessioni aperte simultanee su un server quad-core.

Se puoi eseguire Java, consiglierei StreamHub Comet Server .

In primo luogo, per quanto riguarda la necessità di non "uccidere" l'applicazione esistente, l'inclusione di JavaScript ha un footprint davvero ridotto a meno di 10 KB. Lo uso per inviare aggiornamenti agli utenti e chattare sul sito di social network che sto costruendo. Ho provato con oltre 1000 hit al giorno e non si sono verificati effetti evidenti sulla CPU.

In secondo luogo, durante la distribuzione, ho seguito alcuni degli esempi e sono stato operativo molto velocemente rispetto a sbattere la testa contro un muro con CometD. C'è un buon Comet Hello World ottenendo guida iniziata e un Gruppo Google se rimani bloccato su qualcosa .

Se stai cercando di combinare Django con un server Comet (Orbited), controlla questo progetto. Ho intenzione di integrare Django e Orbited in "clean " e "mondo reale" come possibile qui: http://github.com/clemesha/hotdot

Il progetto si rivolge a "mondo reale" problemi come la sicurezza e la registrazione / filtro / modifica dei messaggi Comet in transito, ecc. - ma è ancora in fase di elaborazione.

Se utilizzi IIS, puoi visitare WebSync ( http://www.frozenmountain.com/ websync ), un server e client cometa (bayeux) conforme agli standard per .NET / IIS. Se non si desidera il carico aggiuntivo, la versione su richiesta è un'opzione SaaS che scarica il sollevamento pesante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top