flink 卡夫卡_卡夫卡简介

2023-10-13 13:40
文章标签 简介 flink 卡夫卡

本文主要是介绍flink 卡夫卡_卡夫卡简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

flink 卡夫卡

在IT世界中,Apache Kafka(以下简称Kafka)是当前最受欢迎的分布式消息传递或流数据平台。 任何可以处理任何类型的数据(日志,事件等)并且需要传输数据的应用程序,都可能会在其组件之间移动时进行转换,而这些应用程序都可以从Kafka中受益。 Kafka最初是LinkedIn上的一个项目,后来开源以促进其应用。 在过去的几年中,它一直作为一个开源项目继续发展,并且已经成熟了很多。 IT中的一些知名人士在其生产环境中使用它。

卡夫卡的一些基本组成部分是:

  • 代理:存储到Kafka的数据存储在Kafka代理中。 经纪人负责在数据到达时接收和存储数据。 代理还应要求提供数据。 许多卡夫卡经纪人可以共同努力,形成一个卡夫卡集群。 Kafka使用Apache ZooKeeper来存储有关集群的元数据。 代理使用此元数据来检测故障(例如,代理故障)并从中恢复。
  • 生产者:生产者是将数据发送到代理的实体。 有不同类型的生产者。 Kafka带有自己的用Java编写的生产器,但是还有许多其他的Kafka客户端库支持C / C ++,Go,Python,REST等。
  • 使用者:使用者是向经纪人请求数据的实体。 与生产者类似,除了内置Java使用者以外,还有其他开源使用者,这些使用者对非Java API感兴趣。

Kafka将数据存储在主题中。 生产者将数据发送到特定的Kafka主题,而消费者也从特定主题读取数据。 每个主题都有一个或多个分区。 发送给主题的数据最终存储在一个分区中,并且只有一个分区中。 每个分区由一个代理托管,并且不能在多个代理之间扩展。

Kafka在业界持续流行和采用的原因有很多:

  • 可扩展性: Kafka的两个重要功能为其可扩展性做出了贡献。
    • Kafka群集在运行时可以轻松扩展或收缩(可以添加或删除代理),而不会发生中断。
    • Kafka主题可以扩展为包含更多分区。 由于分区不能跨多个代理扩展,因此其容量受代理磁盘空间限制。 能够增加分区数量和代理数量,意味着单个主题可以存储多少数据没有限制。
  • 容错和可靠性: Kafka的设计方式是可以使群集中的其他代理检测到代理故障。 因为每个主题都可以在多个代理上复制,所以群集可以从此类故障中恢复并继续工作,而不会中断任何服务。
  • 吞吐量:经纪人可以高效,超快地存储和检索数据。

图1显示了一个简单的Kafka集群,其中包含四个代理。 三个主题t1,t2和t3存储在此群集中。 t1有一个分区,被复制了3次,t2和t3每个都有两个分区,被复制了2次。 从此图像可以清楚地看出,该群集可以在不丢失任何数据的情况下经受一次代理故障。 仅当经纪人1和4或经纪人3和4是失败对时,它才能在无损双经纪人失败中幸免。 任何其他故障对意味着某些数据将丢失。

图1.一个简单的Kafka集群
一个简单的卡夫卡集群

该群集可以使用多种生产者和使用者配置。 例如:

  • 客户1可以制作主题1(充当制作人)
  • 客户2可以针对主题2进行制作(充当制作人)
  • 客户端3可以阅读主题1和2,并写入主题3(既充当消费者又充当生产者)
  • 客户端4可以阅读主题3

在某些用例中,我们可以将实时和连续的数据流纳入其中的某些主题。 例如,主题1包含工厂中各种传感器的温度读数,而主题2包含有关这些传感器的详细信息。 然后,在上述配置中的客户端3将连续接收温度读数,将其与最新的传感器规格进行交叉检查,检测异常并在主题3中进行报告。在这种情况下,客户端3是一个简单的流应用程序,可从其中读取数据或更多Kafka主题,执行一些处理,并将输出实时写入另一个Kafka主题。

实时分析来自IoT设备或网站上用户操作的数据是Kafka Streams可以轻松处理的几个基本示例。 本文末尾引用的Kafka Streams文档中列出了一些其他用例。

由于上述功能,Kafka是流数据和ETL方案的流行选择。 实际上,Kafka Streams API是Kafka的一部分,有助于编写处理运动数据的流应用程序。 可以说,Kafka成为了批处理消息传递平台,现在已经成为最受欢迎的流处理平台。 Kafka Streams甚至还增加了另一个名为KSQL的开源项目,该项目大大简化了使用类似SQL的声明编写Kafka Streams应用程序的过程。

Kafka和Kafka Streams提供的功能远远超出本篇简短文章中所述。 以下参考资料更详细地描述了Kafka和Kafka流,并提供了编码示例。 强烈建议对希望更好地了解Kafka和Kafka Streams内部以及如何在实践中使用它们的任何人。


翻译自: https://www.ibm.com/developerworks/opensource/library/ba-kafka-intro/index.html

flink 卡夫卡

这篇关于flink 卡夫卡_卡夫卡简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/203627

相关文章

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

SaaS、PaaS、IaaS简介

云计算、云服务、云平台……现在“云”已成了一个家喻户晓的概念,但PaaS, IaaS 和SaaS的区别估计还没有那么多的人分得清,下面就分别向大家普及一下它们的基本概念: SaaS 软件即服务 SaaS是Software-as-a-Service的简称,意思是软件即服务。随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。 它是一种通过Internet提供

Flink任务重启策略

概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。如果在工作提交时指定了一个重启策略,该策略会覆盖集群的默认策略默认的重启策略可以通过 Flink 的配置文件 flink-conf.yaml 指定。配置参数 restart-strategy 定义了哪个策略被使用。常用的重启策略: 固定间隔 (Fixe

LIBSVM简介

LIBSVM简介 支持向量机所涉及到的数学知识对一般的化学研究者来说是比较难的,自己编程实现该算法难度就更大了。但是现在的网络资源非常发达,而且国际上的科学研究者把他们的研究成果已经放在网络上,免费提供给用于研究目的,这样方便大多数的研究者,不必要花费大量的时间理解SVM算法的深奥数学原理和计算机程序设计。目前有关SVM计算的相关软件有很多,如LIBSVM、mySVM、SVMLight等,这些

urllib与requests爬虫简介

urllib与requests爬虫简介 – 潘登同学的爬虫笔记 文章目录 urllib与requests爬虫简介 -- 潘登同学的爬虫笔记第一个爬虫程序 urllib的基本使用Request对象的使用urllib发送get请求实战-喜马拉雅网站 urllib发送post请求 动态页面获取数据请求 SSL证书验证伪装自己的爬虫-请求头 urllib的底层原理伪装自己的爬虫-设置代理爬虫coo

新一代车载(E/E)架构下的中央计算载体---HPC软件架构简介

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。 时间不知不觉中,快要来到夏末秋初。一年又过去了一大半,成

AI学习指南深度学习篇-带动量的随机梯度下降法简介

AI学习指南深度学习篇 - 带动量的随机梯度下降法简介 引言 在深度学习的广阔领域中,优化算法扮演着至关重要的角色。它们不仅决定了模型训练的效率,还直接影响到模型的最终表现之一。随着神经网络模型的不断深化和复杂化,传统的优化算法在许多领域逐渐暴露出其不足之处。带动量的随机梯度下降法(Momentum SGD)应运而生,并被广泛应用于各类深度学习模型中。 在本篇文章中,我们将深入探讨带动量的随