2014-09-17 9 views
8

Sto scrivendo un'app per trasmettere messaggi al browser da Apache Kafka utilizzando un WebSocket. Quando il server non consuma i messaggi per un po 'e l'offset rimane indietro, il websocket si chiude dopo 1000 o 2000 messaggi. Il numero sembra alternare tra i due ogni test run. I messaggi sono utf8 e di solito intorno a 130-140 byte di lunghezza in frammenti di 8 byte.WebSocket si chiude dopo 1000 messaggi

Quando l'offset viene raggiunto e i messaggi arrivano ad una velocità leggermente inferiore, dura molto più a lungo, ma a volte si chiude a caso dopo essere stato aperto per un po '.

Sul lato server sto utilizzando Autobahn con Twisted, questa libreria kafka-python e solo l'oggetto WebSocket nativo sul lato browser. Entrambe le estremità ricevono in ogni caso il codice di errore 1006 (chiusura inattesa).

Attualmente ho provato solo questo con Firefox 31 su RHEL e OSX. La versione python del server è 2.6.6. L'aggiornamento sarebbe piuttosto difficile, quindi sfortunatamente non riesco a vedere se una nuova versione di Python lo risolve; tuttavia se questo è sicuramente il problema può essere fatto.

Il codice è molto semplice al momento, quando la connessione si apre, il server inizia a consumare i messaggi di Kafka e li invia sul web socket. Il cliente li antepone al corpo dopo averlo aggiunto a un elemento di span semplice con jquery.

+2

Avete qualche esempio di codice per questo? –

risposta