2012-02-20 11 views
9

Sto lavorando a una WebApp utilizzando backbone.js e socket.io sul lato client e Django sul lato server. Mi piacerebbe fare "push" dal server quando i dati cambiano (proprio come in un'app di chat). Mi sono imbattuto in due attuazione socket.io in Python con un'integrazione Django che sembrava promettente:Qual è il miglior server socket.io da utilizzare con Django - gevent o tornadio2?

Entrambi gevent e tornado hanno very good performance, quindi non sono interessato ad altri framework di connessione asincrona. L'unico altro requisito è l'uso di SSL per la connessione - nessuna trasmissione di testo normale.

Quindi, tra questi due si è avvicinato, quale sarebbe stato il più semplice da implementare? Esiste un buon framework basato su abbonamento per tornadio2 simile a come django-socketio lo fa per gevent?

Un'altra opzione che ho trovato è django-serverpush, anch'essa basata su TornadIO2. Si integra meglio con Django rispetto alle altre app TornadIO2, ma l'implementazione richiede ancora qualche miglioramento prima che diventi pronto per la produzione.

risposta

6

Al momento della stesura di questa risposta, django-socketio non è stato ancora aggiornato per funzionare con l'ultimo socket.io.

Tornado/TornadIO2 d'altra parte sono ben gestiti e con alcune estensioni personalizzate sono riuscito a farli funzionare correttamente. Dopo aver lanciato il mio prodotto, spero di passare un po 'di tempo ad aprire le mie modifiche. Fino ad allora, sarei felice di rispondere a qualsiasi domanda su come farlo funzionare.

1

Onestamente, direi che sono abbastanza simili. Questa è più un'opinione. Per quanto riguarda le prestazioni, credo che gevent abbia più prestazioni basate su ciò che ho letto, ma dovresti fare i tuoi test per scoprire quale ha le massime prestazioni.

+0

Dalla mia ricerca la loro prestazione è paragonabile, quindi non sarebbe un fattore. Ero più interessato a quanto strettamente si integrassero con Django, più facili da usare e meglio mantenuti. –

+0

Se fossi in te, andrei con Django-SocketIO. – stormlifter