我正在编写一个应用程序,使用WebSocket从Apache Kafka向浏览器传输消息.当服务器暂停消耗消息并且偏移量落后时,websocket会在1000或2000条消息后关闭.这个数字似乎在每次测试运行之间交替.消息是utf8,通常在8字节片段中大约130-140字节.
当偏移量被捕获并且消息以稍慢的速率进入时,它会持续更长时间,但有时仍会在打开一段时间后随机关闭.
在服务器端,我正在使用Autobahn和Twisted,这个kafka-python库,以及浏览器端的本机WebSocket对象.在每种情况下,两端都会收到1006错误代码(意外关闭).
我目前只在RHEL和OSX上使用Firefox 31进行了测试.服务器的python版本是2.6.6.升级将是相当困难的,所以不幸的是我不能只看到一个新的python版本修复它; 但如果这肯定是问题,那就可以做到.
目前代码非常简单 - 当连接打开时,服务器开始使用Kafka消息并将其发送到websocket上.客户端使用jquery将其添加到简单的span元素后,将它们预先添加到正文中.