架构
kafka-connect 有三个重要的模型
- 连接器模型
连接器通过指定的连接器类和配置选项来控制以什么格式拷贝什么数据。每一个连接器实例负责定义和更新一系列负责真正拷贝数据的任务集。kafka-connect 管理任务集,生成任务集,并在需要的时候更新配置。source/sink/task 之间 API 简单并且区分明显。
连接器模型可以满足三个关键的用户需求。第一,用户定义连接器作业,连接器分割成小任务集来进行数据复制。第二,连接器期望大量数据的复制,以满足分割小任务的条件,并且提供了合适的粒度去分割子任务。第三,source 和 sink 接口,Kafka connect 提供了简易的API接口,使得开发者可以自定义对接各种不同的系统。
- 工作模型
kafka-connect 集群由一系列 worker 进程组成,每个worker进程包含执行连接器和任务集。workers 之间自动协调,分发任务,扩展和容错。workers 分发 work 到任一可用进程,但不负责这些进程的管理。
工作模型让 Kafka-connect 成为一个可扩展的应用。既可以在单节点上运行同时作为一个协调者,又可以在集群模式下,连接器任务保持动态调度。工作模型对使用者要求很小,所以它可以很轻松的在各种集群运行,并使用常用的服务监控。这个架构可以动态扩展,Kafka-connect 的接口实现同样支持这两种模式。管理和监控的rest接口,让大范围组织、多用户的运行作业变得简单。在开发、测试或用于代理的生产环境,命令行工具让即席作业的运行和唤醒变得简单,
- 数据模型
连接器从