Confluent Kafka Connect MQTT 源和接收器连接器的开源替代方案

Open Source alternative for Confluent Kafka Connect MQTT Source and Sink connectors

我想通过 MQTT 代理连接到 Apache Kafka(非企业版且未使用融合的 kafka 托管服务)。

我使用的是 Confluent 的 Kafka Connect MQTT source and sink,但我意识到它有 30 天的试用期,之后需要许可证。

是否有任何其他开源/免费选项可用作 Apache Kafka 和 mqtt 代理之间的双向桥梁。

您可以使用 Lenses' MQTT Source Connector:

A Connector to read events from MQTT and push them to Kafka. The connector subscribes to the specified topics and and streams the records to Kafka.

Lenses 还提供 MQTT Sink Connector 用于将记录从 Kafka 流式传输到目标系统。


两个连接器都需要以下内容:

  • Apache Kafka 0.11.x 以上
  • Kafka Connect 2.x 或以上
  • Mqtt 服务器
  • Java1.8

我没有任何可用的详细代码示例,只有我的 2 美分:

你必须建立自己的桥梁,即 MQTT <-> Kafka (pub/sub <-> producer/consumer).

  • 在 MQTT 方面,恕我直言,Eclipse PAHO 客户端看起来相当不错。看看这个指南:https://www.baeldung.com/java-mqtt-client.
  • 在 Kafka 上,使用生产者和消费者的相当简单的实现应该非常容易。如果您想考虑 MQTT QoS(即最多一次 (0)、至少一次 (1)、恰好一次 (2)),事情会变得复杂。至少有一次您可以通过控制偏移量提交并密切关注 MQTT<->Kafka 消息的处理状态来进行管理,正好一次看看 Kafka Transactions.