消耗kafka消息并将其发送到websocket客户端的最佳方法是通过客户端发送的过滤器

时间:2020-04-26 13:44:26

标签: websocket apache-kafka apache-nifi

我想通过网络套接字将消息从kafka发送给客户端, 我有带有类似{...fields...., type:1}的json记录的kafka主题。

客户端使用json消息启动与websocket的连接,该消息包括他所插入的类型的数组字段,例如:{...fields..., types:[1,3,4]}

我尝试使用Nifi进行此操作,但是我没有办法从kafka中使用数据,同时无法过滤按类型获得的消息。

我很乐意收到以Nifi或其他任何方式(流集,实现从kafka消耗的统一网络套接字等)的建议。

(我的代码是用Java编写的)

谢谢:)

1 个答案:

答案 0 :(得分:1)

使用Nifi,但我没有办法从kafka消费数据,同时无法过滤按类型获得的消息

ConsumeKafka + RecordPath filter 应该可以工作很好...


或者,您还没有提到您的Web服务器正在运行哪种类型的系统...

您可以write it in Spring Boot ... or Django,...或Flask + Faust,or NodeJS,然后将Kafka消息从内置使用者转发到网络套接字。

tl; dr 搜索 您的语言 + websocket + kafka” ...我确定会有结果


或者您可以使用Kafka REST代理,然后仅使用AJAX而不是WebSocket。


例如,您还可以使用Kafka Connect HTTP Sink来将事件发送到打开的网络挂钩(例如Nifi的ListenHTTP)。