4、Kafka的流数据处理平台——Confluent Platform入门教程

Confluent Platform
——企业级事件流平台,由Apache Kafka®的原创者建立

1、简介

事件流是一种将数据视为连续事件流的新范式。起初由Confluent的创始人在LinkedIn开发,世界各地的组织依赖Apache Kafka实时集成现有的系统,并构建一类新的事件流应用程序来释放新的商业机会。

Confluent Platform是一个企业级平台,它为Kafka提供了先进的功能,帮助加速应用程序开发和连接,通过流处理支持事件转换,简化企业操作,满足严格的架构需求。具体来说,Confluent平台简化了将数据源连接到Kafka、使用Kafka构建应用程序以及保护、监视和管理Kafka基础设施。

Confluent平台的核心是Apache Kafka,这是最流行的开源分布式流媒体平台。Kafka的关键功能是:

  • 发布和订阅记录流
  • 以容错的方式存储记录流
  • 处理记录流

Kafka开源项目的关键组件是Kafka代理和Kafka Java客户端api。

Kafka Broker
形成Kafka消息传递、数据持久性和存储层的Kafka broker。

Kafka Java Client APIs

  • Producer API是一个Java客户机,它允许应用程序将一个流记录发布到一个或多个Kafka主题。
  • Consumer API是一个Java客户机,它允许应用程序订阅一个或多个主题,并处理生成给它们的记录流。
  • Streams API允许应用程序充当流处理器,使用一个或多个主题的输入流,并生成一个或多个输出主题的输出流,从而有效地将输入流转换为输出流。它具有非常低的入门门槛、易于操作化和用于编写流处理应用程序的高级DSL。因此,它是处理和分析Kafka支持的数据的最方便且可扩展的选项。
  • Connect API是一个组件,您可以使用它以可伸缩和可靠的方式在Kafka和其他数据系统之间传输数据。它简化了连接器的配置,以便将数据移入和移出Kafka。Kafka Connect可以摄取整个数据库,或者将来自所有应用服务器的指标收集到Kafka主题中,使数据可用于流处理。连接器还可以将数据从Kafka主题传递到二级索引(如Elasticsearch)或批处理系统(如Hadoop)中进行离线分析。

Confluent平台的每个版本都包括Kafka的最新版本,以及使构建和管理事件流平台变得更容易的其他工具和服务。Confluent平台提供社区和商业许可的特性,对Kafka的部署进行了补充和增强。

2、Why Confluent Platform?

在这里插入图片描述
(1)不限制开发人员的开发动力
将Kafka推广给更广泛的开发者,并加快他们构建事件流应用程序的速度。

(2)大规模有效运作
将操作复杂性最小化,同时随着事件流在组织中的增长,确保高性能和可伸缩性。

(3)生产阶段的先决条件
使用在生产中实现事件流所需的基本企业级属性构建平台。

(4)可自由选择
在公共云或任何基础设施(从裸机到Kubernetes)上进行部署,或者使用Confluent云来利用完全托管的云服务

(5)Commiter-driven Expertise(委托人来驱动专业知识) (这块不太会翻译)
委任世界上最重要的Kafka专家,他们直接与Kafka提交者一起工作,在整个应用程序开发生命周期中帮助你。

参考文档:Confluent Platform Datasheet

3、社区版功能

(1)Confluent KSQL

Confluent KSQL是Kafka的流式SQL引擎。它提供了一个易于使用但功能强大的交互式SQL接口,用于Kafka上的流处理,不需要用Java或Python等编程语言编写代码。KSQL是可伸缩的、有弹性的、容错的和实时的。它支持广泛的流操作,包括数据过滤、转换、聚合、连接、窗口和会话。

KSQL支持这些用例:

流式ETL
Kafka是支持数据管道的流行选择。KSQL简化了在管道内转换数据的过程,将消息准备好,以便干净地放到另一个系统中。

实时监控和分析
通过快速构建实时仪表板、生成指标和创建自定义警报和消息,来跟踪、理解和管理基础设施、应用程序和实时数据更新服务。

数据探索和发现
在Kafka中导航和浏览数据。

异常检测
以毫秒的延迟识别实时数据中的模式和异常点,允许您正确地显示异常事件并分别处理fraudulent activities separately。

个性化
为用户创建数据驱动的实时体验和洞察力。

传感器数据与物联网
理解并传递传感器数据,并将其传递到需要的地方。

客户360度视图
通过各种渠道全面了解客户的每一次互动,不断地实时整合新信息。

更多详细信息,参见KSQL Document

(2)Confluent Connectors

连接器利用Kafka Connect API将Kafka连接到其他数据系统,如Apache Hadoop。Confluent平台为最流行的数据源和接收器提供连接器,并使用Confluent平台提供这些连接器的完整测试和支持版本。可用的连接器包括JDBC、HDFS、Elasticsearch和S3。

更多详细信息,参见KSQL Connectors Document

(3)Confluent Clients

C/C++ Client Library
librdkafka库是Kafka协议的C/ c++实现,包含对生产者和消费者的支持。它的设计考虑了消息传递、可靠性和高性能。当前的基准测试数据显示,对于生产者,每秒超过800,000条消息,对于消费者,每秒超过300万条消息。这个库支持Kafka 0.10的许多新特性,包括消息安全性。它还可以轻松地与libserdes集成,libserdes是我们用于Avro数据序列化的C/ c++库(支持模式注册表)。

更多详细信息,参见Kafka Clients

Python Client Library
Python的高性能客户端。

有关更多信息,请参见Kafka Clients

(4)Confluent Schema Registry

松散耦合系统最困难的挑战之一是在系统增长和发展的过程中确保数据和代码的兼容性。对于像Kafka这样的消息传递服务,相互交互的服务必须同意一种通用的格式,称为消息模式。在许多系统中,这些格式是特定的,仅由代码隐式定义,并且常常在使用该消息类型的每个系统之间重复。

随着需求的变化,有必要改进这些格式。由于只有一个特别的定义,开发人员很难确定他们的更改可能会产生什么影响。

Confluent Schema Registry 中心通过集中管理为Avro序列化系统编写的模式,支持模式的安全、零停机演化。它跟踪Kafka中每个主题使用的模式的所有版本,并且只允许根据用户定义的兼容性设置对模式进行改进。这让开发人员相信,他们可以根据需要安全地修改模式,而不必担心这样做会破坏他们甚至不知道的另一个服务。

Schema Registry 还包含Kafka客户端的插件,可以处理Avro格式发送的Kafka消息的架构存储和检索。这种集成是无缝的——如果您已经在Avro数据中使用Kafka,那么使用模式注册表只需要在应用程序中包含序列化器并更改一个设置。

有关更多信息,请参见Schema Registry documentation

(5)Confluent REST Proxy

Kafka和Confluent为Java、C、c++和Python提供了本地客户端,这使得通过Kafka生成和使用消息变得又快又容易。这些客户机通常是与Kafka直接通信的最简单、最快和最安全的方式。

但有时,编写和维护使用本机客户机的应用程序并不实际。例如,组织可能希望将用PHP编写的遗留应用程序连接到Kafka。或者假设一家公司正在运行一个销售点软件,它运行在收银机上,用c#编写,运行在Windows NT 4.0上,由承包商维护,需要在公共互联网上发布数据。为了帮助解决这些问题,Confluent平台包含一个REST代理。REST代理解决了这些问题。

Confluent REST代理通过提供用于与Kafka集群交互的REST式HTTP服务,使得使用任何语言的Kafka都很容易。REST代理支持所有核心功能:向Kafka发送消息、读取消息(单独地或作为一个消费者组的一部分)、检查集群元数据(如主题列表及其设置)。您可以从任何语言中获得高质量、正式维护的Java客户机的全部好处。

REST代理还与Schema Registry集成。它可以读写Avro数据,在Schema Registry中注册和查找模式。因为它自动将JSON数据转换到Avro和Avro,所以您可以从任何只使用HTTP和JSON的语言中获得集中模式管理的所有好处。

有关更多信息,请参加Confluent REST Proxy documentation

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰阳星宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值