赞
踩
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接口,让大范围组织、多用户的运行作业变得简单。在开发、测试或用于代理的生产环境,命令行工具让即席作业的运行和唤醒变得简单,
连接器从一个输入流拷贝信息到一个输出流,其中一端必须是Kafka。每一段流都是有序的并且有相应的偏移量。这些偏移量的格式和语义根据连接器支持的各种系统来定义。为了面对容错情况下的某些特定语义,偏移量在段内需要保证唯一性,并且在多段流中可以随机查找。数据内容以连接器序列化格式呈现,kafka-connect 支持插拔式数据转换格式,以不同的序列化格式保存。内置的schema,允许消息的元数据通过复杂的数据管道共享出去。
数据模型解决了其他剩余需求。许多优点来自于与Kafka的结合。Kafka 作为流批数据的自然缓冲层,减少了开发者管理数据和数据保证的压力。此外,Kafka 作为一个终端,各种工具跟Kafka集成大量的数据管道,这样就让kafka-connect可以专注于数据复制,因为各种流处理工具可以进一步用来处理数据,从概念和实现上都让kafka-connect变得简单。最后,kafka-connect 的核心抽象,分区,提供了并行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。