一、Confluent
介绍
LinkedIn
有个三人小组出来创业了—正是当时开发出Apache Kafka
实时信息列队技术的团队成员,基于这项技术Jay Kreps
带头创立了新公司Confluent
。Confluent
的产品围绕着Kafka
做的。
1.1、什么是Confluent Platform
?
Confluent Platform
是一个流数据平台,能够组织管理来自不同数据源的数据,拥有稳定高效的系统。
Confluent Platform
很容易的建立实时数据管道和流应用。通过将多个来源和位置的数据集成到公司一个中央数据流平台,Confluent Platform
使您可以专注于如何从数据中获得商业价值而不是担心底层机制,如数据是如何被运输或不同系统间摩擦。具体来说,Confluent Platform
简化了连接数据源到Kafka
,用Kafka
构建应用程序,以及安全,监控和管理您的Kafka
的基础设施。
Kafka
是最流行的开源即时通讯系统,Confluent Platform
基于Kafka
。Kafka
是低延迟,高可扩展,分布式消息系统。它被数百家企业用于许多不同的场景,包括收集用户活动数据,系统日志,应用程序指标,股票行情数据和设备仪器的信号。
1.2、Confluent Platform
三个版本
1.2.1、Confluent Open Source
是 Confluent
公司在 Kafka
上的一个增强版本,其主要增强的地方是:
增加了一个 REST 代理,以便客户端可以使用 HTTP 连接; 增加了对 Java 以外的语言的支持,比如 C++、Python 和.NET; 增加了对 Hadoop 文件系统、亚马逊 S3 存储、JDBC 等的连接的支持; 最重要 Schema Registry
,这是对Kafka
一个比较大的增强,它使得Kafka
的数据流必须符合注册的Schema
,从而增强了可用性。所有这些东西本身也都是开源的,这使得其他第三方在这个上面继续开发新功能成为了可能。
1.2.2、Confluent Enterprise
是 Confluent 面向企业级应用的产品,里面增加了一个叫作 Confluent Control Center
的非开源产品。Confluent Control Center
是一个对整个产品进行管理的控制中心,最主要的功能对这个 Kafka
里面各个生产者和消费者的性能监控。
Kafka
作为一个非常重要的产品,已经在很多互联网企业里被作为关键组件部署了。而 Kafka
的性能监控也早就是一个非常重要的问题,Kafka
本身并不自带性能监控平台,很多公司比如雅虎自己内部开发了这样的系统。但是 Confluent
开发的控制平台无疑应该是最可靠的,毕竟没有人比 Kafka 的开发者更了解自己的产品。可惜这个是收费产品,而且不开源。Confluent Enterprise
同时还自带了数据自动负载平衡和跨数据中心数据复制的能力。
1.2.3、Confluent Cloud
是 Confluent Enterprise
的云端托管服务,它增加了一个叫作云端管理控制台的组件。除此之外,按照 Confluent
的说法,其实没有什么差别。但是对于想要省心的用户来说,这个产品无疑是更好的选择。
1.3、Kafka
与 Confluent
开源的组件
Kafka
开源项目包括一些关键组件:
Kafka Brokers
(开源)。构成Kafka的消息,数据持久性和存储层。Kafka Java Clients
(开源)。Java 库,写消息到kafka 或者从kafka 读消息。Kafka Streams
(开源)。Kafka Streams是一个库使kafka转换成功能齐全的流处理系统。Kafka Connect
(开源)。一种可扩展的和可靠的连接Kafka框架与外部系统(如数据库,键值存储,搜索索引和文件系统)的框架。
除了Kafka以外, Confluent Platform
包括更多的工具和服务,使构建和管理数据流平台更加容易。
Confluent Control Center
(闭源)。管理和监控Kafka最全面的GUI
驱动系统。Confluent Kafka Connectors
(开源)。连接SQL数据库/Hadoop/HiveConfluent Kafka Clients
(开源)。对于其他编程语言,包括C/C++,PythonConfluent Kafka REST Proxy
(开源)。允许一些系统通过HTTP和kafka之间发送和接收消息。Confluent Schema Registry
(开源)。帮助确定每一个应用使用正确的schema当写数据或者读数据到kafka中。
二、Kafka Connect
Kafka Connect
是 Kafka
的一个开源组件,是用来将Kafka
与数据库、key-value
存储系统、搜索系统、文件系统等外部系统连接起来的基础框架。
通过使用Kafka Connect
框架以及现有的连接器可以实现从源数据读入消息到Kafka
,再从Kafka
读出消息到目的地的功能。
Confluent
在 Kafka connect
基础上实现了多种常用系统的connector
免费让大家使用,提供的列表如下:
Kafka Connect ActiveMQ Connector Kafka FileStream Connectors Kafka Connect HDFS Kafka Connect JDBC Connector Confluent Kafka Replicator Kafka Connect S3 Kafka Connect Elasticsearch Connector Kafka Connect IBM MQ Connector Kafka Connect JMS Connector
这些connector
都可以拿来免费使用,而且Confluent
在GitHub
上提供了源码,可以根据自身业务需求进行修改。
三、Schema Registry
Schema-Registry
是为元数据管理提供的服务,同样提供了RESTful
接口用来存储和获取schemas
,它能够保存数据格式变化的所有版本,并可以做到向下兼容。
Schema-Registry
还为Kafka
提供了Avro
格式的序列化插件来传输消息。
Confluent
主要用Schema-Registry
来对数据schema
进行管理和序列化操作。
关注我的公众号【宝哥大数据】,更多干货

参考:
https://www.cnblogs.com/zdfjf/p/5646525.html
http://www.kafka.cc/archives/26.html
https://www.sohu.com/a/216936317_355140
https://www.jianshu.com/p/a6705c870bb9




