2014-09-17 6 views
8

Ich schreibe eine App, um Nachrichten von Apache Kafka mit einem WebSocket an den Browser zu streamen. Wenn der Server Nachrichten für eine Weile nicht konsumiert und der Offset hinterherhinkt, schließt der Websocket nach 1000 oder 2000 Nachrichten. Die Anzahl scheint bei jedem Testlauf zwischen den beiden zu wechseln. Nachrichten sind utf8 und normalerweise ungefähr 130-140 Bytes lang in 8-Byte-Fragmenten.WebSocket wird nach 1000 Nachrichten geschlossen

Wenn der Offset verschoben wird und Nachrichten mit einer etwas langsameren Rate eingehen, dauert es viel länger, wird aber manchmal nach einiger Zeit wieder geschlossen.

Auf der Serverseite I mit Twisted-Autobahn bin mit dieser kafka-python Bibliothek und nur das native WebSocket-Objekt auf der Seite Browser. Beide Enden erhalten in jedem Fall den Fehlercode 1006 (unerwartet geschlossen).

Ich habe dies derzeit nur mit Firefox 31 auf RHEL und OSX getestet. Die Python-Version des Servers ist 2.6.6. Das Upgraden wäre ziemlich schwierig, so dass ich leider nicht sehen kann, ob eine neue Python-Version es behebt; Wenn dies jedoch definitiv das Problem ist, kann es getan werden.

Der Code ist im Moment sehr einfach - wenn die Verbindung geöffnet wird, fängt der Server an, Kafka-Nachrichten zu konsumieren und sie auf dem Websocket zu versenden. Der Client fügt sie dem Rumpf voran, nachdem er sie zu einem einfachen span-Element mit jquery hinzugefügt hat.

+2

Sie haben einige Codebeispiele für diesen? –

Antwort

Verwandte Themen