4、Kafka的流数据处理平台——ConfluentPlatform⼊门教程
Confluent Platformweekday函数公式
——企业级事件流平台,由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⽀持的数据的最⽅便且可扩展的选项。
python入门教程 非常详细 pdfConnect API是⼀个组件,您可以使⽤它以可伸缩和可靠的⽅式在Kafka和其他数据系统之间传输数据。
它简化了连接器的配置,以便将数据移⼊和移出Kafka。Kafka Connect可以摄取整个数据库,或者将来⾃所有应⽤服务器的指标收集到Kafka主题中,使数据可⽤于流处理。连接器还可以将数据从Kafka主题传递到⼆级索引(如Elasticsearch)或批处理系统(如Hadoop)中进⾏离线分析。
expose形容词Confluent平台的每个版本都包括Kafka的最新版本,以及使构建和管理事件流平台变得更容易的其他⼯具和服务。Confluent平台提供社区和商业许可的特性,对Kafka的部署进⾏了补充和增强。
2、Why Confluent Platform?
(1)不限制开发⼈员的开发动⼒
将Kafka推⼴给更⼴泛的开发者,并加快他们构建事件流应⽤程序的速度。
(2)⼤规模有效运作
将操作复杂性最⼩化,同时随着事件流在组织中的增长,确保⾼性能和可伸缩性。
(3)⽣产阶段的先决条件
使⽤在⽣产中实现事件流所需的基本企业级属性构建平台。
(4)可⾃由选择
在公共云或任何基础设施(从裸机到Kubernetes)上进⾏部署,或者使⽤Confluent云来利⽤完全托管的云服务
(5)Commiter-driven Expertise(委托⼈来驱动专业知识) (这块不太会翻译)
委任世界上最重要的Kafka专家,他们直接与Kafka提交者⼀起⼯作,在整个应⽤程序开发⽣命周期中帮助你。
参考⽂档:
3、社区版功能
(1)Confluent KSQL
Confluent KSQL是Kafka的流式SQL引擎。它提供了⼀个易于使⽤但功能强⼤的交互式SQL接⼝,⽤于Kafka上的流处理,不需要⽤Java 或Python等编程语⾔编写代码。KSQL是可伸缩的、有弹性的、容错的和实时的。它⽀持⼴泛的流操作,包括数据过滤、转换、聚合、连接、窗⼝和会话。
KSQL⽀持这些⽤例:
流式ETL
Kafka是⽀持数据管道的流⾏选择。KSQL简化了在管道内转换数据的过程,将消息准备好,以便⼲净地放到另⼀个系统中。
实时监控和分析
通过快速构建实时仪表板、⽣成指标和创建⾃定义警报和消息,来跟踪、理解和管理基础设施、应⽤程序和实时数据更新服务。
数据探索和发现
交流异步电机和永磁同步电机的区别在Kafka中导航和浏览数据。
异常检测
以毫秒的延迟识别实时数据中的模式和异常点,允许您正确地显⽰异常事件并分别处理fraudulent activities separately。
个性化
为⽤户创建数据驱动的实时体验和洞察⼒。
传感器数据与物联⽹
理解并传递传感器数据,并将其传递到需要的地⽅。
客户360度视图
通过各种渠道全⾯了解客户的每⼀次互动,不断地实时整合新信息。
更多详细信息,参见
卡带switch什么意思(2)Confluent Connectors
连接器利⽤Kafka Connect API将Kafka连接到其他数据系统,如Apache Hadoop。Confluent平台为最流⾏的数据源和接收器提供连接器,并使⽤Confluent平台提供这些连接器的完整测试和⽀持版本。可⽤的连接器包括JDBC、HDFS、Elasticsearch和S3。
更多详细信息,参见
(3)Confluent Clients
C/C++ Client Library
librdkafka库是Kafka协议的C/ c++实现,包含对⽣产者和消费者的⽀持。它的设计考虑了消息传递、可靠性和⾼性能。当前的基准测试数据显⽰,对于⽣产者,每秒超过800,000条消息,对于消费者,每秒超过300万条消息。这个库⽀持Kafka 0.10的许多新特性,包括消息安全性。它还可以轻松地与libserdes集成,libserdes是我们⽤于Avro数据序列化的C/ c++库(⽀持模式注册表)。
更多详细信息,参见
Python Client Library
Python的⾼性能客户端。
有关更多信息,请参见
(4)Confluent Schema Registry
松散耦合系统最困难的挑战之⼀是在系统增长和发展的过程中确保数据和代码的兼容性。对于像Kafka这样的消息传递服务,相互交互的服务必须同意⼀种通⽤的格式,称为消息模式。在许多系统中,这些格式是特定的,仅由代码隐式定义,并且常常在使⽤该消息类型的每个系统之间重复。
数据结构与算法内容随着需求的变化,有必要改进这些格式。由于只有⼀个特别的定义,开发⼈员很难确定他们的更改可能会产⽣什么影响。
Confluent Schema Registry 中⼼通过集中管理为Avro序列化系统编写的模式,⽀持模式的安全、零停机演化。它跟踪Kafka中每个主题使⽤的模式的所有版本,并且只允许根据⽤户定义的兼容性设置对模式进⾏改进。这让开发⼈员相信,他们可以根据需要安全地修改模式,⽽不必担⼼这样做会破坏他们甚⾄不知道的另⼀个服务。
Schema Registry 还包含Kafka客户端的插件,可以处理Avro格式发送的Kafka消息的架构存储和检索。这种集成是⽆缝的——如果您已经在Avro数据中使⽤Kafka,那么使⽤模式注册表只需要在应⽤程序中包含序列化器并更改⼀个设置。
有关更多信息,请参见
(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的语⾔中获得集中模式管理的所有好处。
有关更多信息,请参加
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论