0
0

Kafka Connect简介

鸟窝 发表于 2016年02月24日 15:18 | Hits: 3344
Tag: Kafka | 大数据

Kafka 0.9+增加了一个新的特性Kafka Connect ,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过connectors 可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、Elastic SearchApache Ignite等。

Kafka Connect特性包括:

  • Kafka connector通用框架,提供统一的集成API
  • 同时支持分布式模式和单机模式
  • REST 接口,用来查看和管理Kafka connectors
  • 自动化的offset管理,开发人员不必担心错误处理的影响
  • 分布式、可扩展
  • 流/批处理集成

流数据平台

基于Kafka, LinkedIn等一些大公司已经建立起架构类似的、可扩展的流数据平台。它包含两个功能,数据集成和流处理。
Kafka Connect则是为数据集成而生。

多年来,Kafka已经成为处理大数据流的平台标准,成千上万的公司在使用它。程序员在构建它们的平台的时候也遇到一些问题:

  • Schema管理
  • 容错
  • 并行化
  • 数据延迟
  • 分发担保
  • 运营与监控

这些棘手的问题都要程序员去处理,如果有一个统一的框架去完成这些事情,将可以大大减少程序员的工作量,因此Kafka 0.9中提供了这一特性,负责处理这些问题。

Kafka背后的公司confluent鼓励社区创建更多的开源的connector,将Kafka生态圈壮大起来,促进Kafka Connnect的应用。

Kafka Connnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。

当前Kafka Connect支持两种分发担保:at least once (至少一次) 和 at most once(至多一次),exactly once将在未来支持。

当前已有的Connectors包括:

Connector Name Owner Status
 HDFS confluent-platform@googlegroups.com Confluent supported
JDBC confluent-platform@googlegroups.com Confluent supported
Debezium - CDC Sources debezium@gmail.com Community project  
 MongoDB Source  a.patelli@reply.de
 a.topchyan@reply.de
In progress 
 MQTT Source tomasz.pietrzak@evok.ly Community project 
 MySQL Binlog Source wushujames@gmail.com In progress 
Twitter Source  rollulus@xs4all.nl In progress  
 Cassandra Sink  Cassandra Sink  Community project 
Elastic Search Sink ksenji@gmail.com Community project
Elastic Search Sink hannes.stockner@gmail.com In progress
Elastic Search Sink a.patelli@reply.de
 a.topchyan@reply.de
In progress 
Apache Ignite Sink Apache Ignite Project

Community project

(Planned for Apache Ignite 1.6 Release)

Connectors的发布和开发可以参照官方文档。如果以前你通过producer API/consumer API写了一些导入导出的功能,不妨尝试一下换成Kafka Connect,看看是否简化了你的代码,提高了应用可扩展和容错的能力。

参考文档

  1. http://www.confluent.io/blog/announcing-kafka-connect-building-large-scale-low-latency-data-pipelines
  2. http://www.confluent.io/developers/connectors
  3. http://kafka.apache.org/documentation.html#connect
转载请注明文章来源: colobu.com

原文链接: http://colobu.com/2016/02/24/kafka-connect/

0     0

评价列表(0)