Kafka 设计问题 - Kafka Connect 与自己的消费者/生产者

Ani*_*ban 4 apache-kafka kafka-consumer-api kafka-producer-api apache-kafka-connect

我需要了解何时使用 Kafka Connect 与由开发人员编写的自己的消费者/生产者。我们正在获得 Confluent 平台。同样为了实现容错设计,我们是否必须从所有代理运行消费者/生产者代码(jar 文件)?

Jav*_*cal 5

Kafka connect 通常用于将外部源连接到 Kafka,即从/向Kafka生产/消费 外部源/从外部源消费

使用连接器可以做的任何事情都可以通过 Producer+Consumer 完成

随时可用的连接器只是简化了将外部源连接到 Kafka 的过程,而无需开发人员编写低级代码。

要记住的一些要点..

  1. 如果 source 和 sink 都是同一个 Kafka 集群,Connector 就没有意义了
  2. 如果您正在从数据库执行更改数据捕获 (CDC) 并将它们推送到 Kafka,则可以使用数据库源连接器。
  3. 资源限制:Kafka connect 是一个单独的进程。因此,请仔细检查您可以在资源和易于开发之间权衡什么。
  4. 如果您正在编写自己的连接器,那就太好了,除非有人尚未编写它。如果您使用第三方连接器,则需要检查它们的维护情况和/或是否有可用的支持。

  • 对于我的用例,我想从一个主题中获取数据,完成对数据的广泛转换(不是基本的)并保存到 MongoDB。我知道 MongoDB 有一个连接器,但何时通过 Consumer API 使用它对我来说仍然不清楚。能否提供更多指导?我假设一个归因因素是需要对数据进行哪些转换。总体来说还有什么需要考虑的吗? (2认同)