Kafka Connect作为Kafka的一部分,是随着Kafka系统一起发布的,无须独立安装。
一、认识Kafka Connect(连接器)
Kafka Connect有两个核心概念:Source和Sink。
Source Connector负责导入数据到Kafka;Sink Connector负责从Kafka导出数据,推送到外部系统,它们都被称为Connector。
每一个Connector都是单向的,数据不能反向流动。
下图简单展示了Kafka Connect架构,其中包括Source Connector(绿色)和Sink Connector(蓝色)数据流。
二、Kafka Connect的使用场景
Kafka Connect 通常用来构建数据管道,一般有2种使用场景。
1. 将Kafka系统作为数据管道的开始和结束的端点
例如,将Kafka topic中数据迁移到HBase 数据仓库,或者把MySQL 数据库中的数据转入到Kafka 系统中。
2. 将Kafka系统作为一个中间传输介质
例如,为了把海量数据存储到Elasticsearch中,可以先把数据传输到Kafka 系统,然后再从Kafka系统中将这些数据移出到Elasticsearch中进行存储。
Kafka Connect作为数据管道中的缓冲区,将consumer和producer应用有效地进行了解耦。
三、配置Connector连接器
Connector的配置是简单的key-value映射。对于独立模式,这些都是在属性文件中定义,并通过在命令行上的Connect处理。在分布式模式,JSON负责connector的创建(或修改)请求。大多数配置都是依赖的connector属性,有几个常见的选项:
在Kafka系统中,连机器最终是以一个常驻进程的形式运行在后台服务中,提供了一个用来管理连机器实例的REST API。默认情况下,服务端口地址是8083。
四、Kafka Connect的优点
1.对开发者提供了统一的实现接口。
2.开发,部署和管理都非常方便,统一。
3.使用分布式模式进行水平扩展,毫无压力。
4.在分布式模式下可以通过Rest Api提交和管理Connectors。
5.对offset自动管理,只需要很简单的配置,而不像Consumer中需要开发者处理。
6.流式/批式处理的支持。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!