Kafka connect - 每个连接器有多少任务

Kafka connect - how many tasks per connector

正如我从文档和其他参考资料中看到的那样,无论通过 属性 (tasks.num)

定义的值如何,连接器似乎都将通过单个任务实例化
  1. 这个 属性 tasks.num 是否会产生任何影响,例如故障转移等......?假设,如果 tasks.num 配置为 2 并且 jdbc 连接器用于单个任务,如果该任务失败,其他任务将接管 ?
  2. 在这种情况下,分布式模式的意义是什么,实际上,连接器是通过单个任务创建的?

对于链接的源连接器,这是因为它使用单个更改流游标。您究竟如何期望多个任务不会得到冲突的信息,例如读取相同的数据并将其复制到主题中?

Connect 运行源和接收器。许多源仅支持单个任务,但这取决于它们的内部线程模型;例如,您可以每个 collection/table 有一个任务,但是如果只有一个统一的项目,例如更改流或二进制日志,那么就只能有一个任务。您已经提到 JDBC,但是如果 Debezium 支持您的数据库,CDC 将是首选。

分布式也是为了容错,而不仅仅是可伸缩性。只有部分异常是可恢复的,可以在其他节点上重启