【问题标题】:Kafka: Connector to consume data from websockets and push to topicKafka:使用来自 websocket 的数据并推送到主题的连接器
【发布时间】:2019-09-16 15:53:31
【问题描述】:

我们有一个数据流管道,其中日志是从 websocket 端点发送的,在进行简单的数据增强(密码屏蔽等)后需要将其推送到 Splunk。

我正在检查是否可以使用 Kafka,因为数量非常高。所以,可能的流程是:

Websocket 端点 ---------some-wss-connector--------> Kafka 主题 ------ --splunk-connector----------> Splunk

我在https://github.com/splunk/kafka-connect-splunk 找到了用于推送到 Splunk 的连接器,它运行良好。

需要其他连接器(上面加粗)的帮助才能从 Kafka 中的 websocket 端点读取并推送到主题。请问有人做过类似的事情吗?请指教。

注意:我查看了WebSocket to Kafka Topic Scala API,但那是使用 Akka(使用 Scala),但我担心 Akka/Scala 目前不属于我们的企业。

提前致谢。 维奈

【问题讨论】:

标签: websocket apache-kafka


【解决方案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 应用程序到 Kafka 的序列化,您可以使用 JSON,但是我推荐使用 AVRO 和模式注册表的完整功能:https://docs.confluent.io/current/schema-registry/index.html

这个想法的主要缺点是您需要实现、维护、部署和扩展另一个应用程序。

希望有帮助!

【讨论】:

  • 感谢 ckmuun .. 虽然该方法可行,但在企业中添加新技术堆栈(尤其是您所说的维护和托管)存在很多阻力 :( .. 因为 Kafka 是已经是其中的一部分,我希望有人用连接器做了一些事情......
  • 看看 cricket007 的评论,稍微调整一下就可以解决您的问题。但是,您可以做的是实现一个新的 Kafka 连接器,请参阅此处的开发人员指南:docs.confluent.io/current/connect/devguide.html
猜你喜欢
  • 2021-10-01
  • 2017-04-07
  • 2020-03-10
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 2017-02-02
  • 2021-10-12
相关资源
最近更新 更多