Kafka 生产者从 PORT 生产数据到主题

Kafka producer produce data to topic from PORT

我是 Kafka 新手。

我有一台 Linux 机器,其中端口号 2552 从外部服务器获取数据流。

我想使用 Kafka producer 来监听该端口并将数据流获取到主题。

你没有说2552端口上的流量是TCP还是UDP,但一般来说你可以很容易地编写一个程序来监听那个端口,将接收到的数据解析成离散的消息,然后将数据发布到一个使用 Kafka Producer API.

作为 Kafka 消息(带或不带密钥)的 Kafka 主题

在某些情况下,现有的开源代码可能已经为您执行此操作,因此您无需从头开始编写。如果端口 2552 协议是众所周知的协议,例如在 IANA 中注册的 TCP 或 UDP 呼叫记录协议(请参阅 ftp://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt) then there might even be an existing Kafka Connector or Proxy that supports it. Search on GitHub for kafka-connect-[protocol] or take a look at the curated Connector list at https://www.confluent.io/product/connectors/

甚至可能有一个通用的 TCP 或 UDP 连接器,您可以将其用作参考,以针对您尝试接收的特定协议配置或构建您自己的连接器。

这是一个完整的技巧,但适用于沙盒示例:

nc -l 2552 | ./bin/kafka-console-producer --broker-list localhost:9092 --topic test_topic

它使用 netcat 来侦听 TCP 端口,并将接收到的任何内容通过管道传输到 Kafka 主题。

快速 Google 也发现了这个 https://github.com/dhanuka84/kafka-connect-tcp 它看起来做类似的事情但更强大,使用 Kafka Connect API.