我们有一个数据流管道,其中日志是从websocket端点发送的,需要在进行简单的数据增强(密码屏蔽等)之后将其推送到Splunk。
我当时正在检查是否可以将Kafka用于此,因为数量确实很大。因此,可能的流程是:
Websocket端点--------- some-wss-connector --------> Kafka主题------ - splunk连接器 ----------> Splunk
我在https://github.com/splunk/kafka-connect-splunk找到了用于推送到Splunk的连接器,并且工作良好。
需要其他连接器的帮助(如上所示),以从Kafka中的websocket端点中读取并推送至主题。有没有人从事类似的工作?请指教。
注意:我看过WebSocket to Kafka Topic Scala API,但这是使用Akka(与Scala一起使用的),但我担心Akka / Scala目前不属于我们的业务。
先谢谢了。 Vinay
答案 0 :(得分:1)
好吧,我想您需要某种适配器应用程序(无论它是否为kafka connect形式)。 我的想法是编写一个实现websocket客户端的小型spring boot应用程序,请参阅此链接以了解操作方式(向下滚动): https://www.sitepoint.com/implementing-spring-websocket-server-and-client/
然后,您可以使用spring kafka将通过websocket收到的消息推送到apache kafka,根据我的经验,这种方法很好用:https://spring.io/projects/spring-kafka
对于从SpringBoot App到Kafka的序列化,您可以 使用JSON,但是我建议使用AVRO和模式注册表进行全面介绍:https://docs.confluent.io/current/schema-registry/index.html
此想法的主要缺点是,您需要获得另一个应用程序,以实现,维护,部署和扩展。
希望有帮助!