kafka Connect定义:

Kafka Connect是一种用于管理 Kafka connectors的通用框架。 Kafka connectors在Kafka和其他系统之间可扩展的、可靠的流式传输数据的工具,可以更快捷和简单地将大量数据集合移入和移出Kafka的连接器。

    Kafka Connect提供的是以数据管道为中心的业务抽象。在Kafka Connect里有两个核心概念:Source和Sink。Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。比如Source Connector,Sink Connector,其实就是提供了数据读取和写入的高度业务抽象,可以简化很多生命周期的管理工作。

     Source Connector会去初始化Source Task,Sink Connector会去初始化Sink Task。这些都是标准的封装。对于数据方面,通过Source & Sink Record把数据的结构进行标准化的抽象。另外,企业客户在做数据集成的时候,数据在很多应用场景下都要求有一定的格式,所以在Kafka Connect里用Schema Registry & Projector来解决数据格式验证和兼容性的问题。当数据源产生变化的时候,会生成新的Schema版本,通过不同的处理策略用Projector来完成对数据格式的兼容。

      Kafka Connect具有良好的可伸缩性、与容错性。这些特性是与Kafka是一脉相承的。在流式处理和批量处理模式里,更多取决于Source端如何去读取数据,Kafka Connect天然支持流式处理和批量传输方式。单节点和集群水平扩展功能都是由Kafka Connect框架直接支持。而任务恢复和状态保持方面,目的端任务的写入进度信息通过Kafka Connect框架自动管理、源端任务可以根据需要往Kafka里面放读取进度信息,节省很多精力去管理任务重启后的进度。

kafka connect特点:

1.  Kafka Connect作为一个管理 Kafka connectors的通用框架,Kafka Connect标准化了其他数据系统与Kafka的集成,简化了连接器的开发、部署和管理。

2. 分布式和独立模式——向上扩展到支持整个组织的大型集中管理服务,或者向下扩展到开发、测试和小型生产部署

3. REST接口——通过一个易于使用的REST API提交和管理到Kafka Connect集群的连接器

4. 自动偏移管理——只需要从connectors获得一点信息,Kafka Connect就可以自动管理偏移提交过程,这样connectors开发人员就不需要担心connectors开发中这个容易出错的部分

5. 默认情况下是分布式和可伸缩的——Kafka Connect基于现有的组管理协议(the existing group management protocol)。可以添加更多的worker来扩展Kafka Connect集群。

6. 流/批处理集成——利用Kafka现有的功能,Kafka Connect是连接流处理和批处理数据系统的理想解决方案

kafka connect功能:

Connectors

Connectors不断地从某个源数据系统拉入Kafka,或者从Kafka推入某个接收数据系统。

Transformations

Connectors可以配置Transformations来进行轻量级的每次消息修改。它们可以方便地进行数据消息和事件路由。