kafka基础教程_spark kafka

kafka基础教程_spark kafka一、基本概念Kafka™用于构建实时数据流水线和流媒体应用,具有水平可扩展性,容错性,并在数千家公司得到了应用。流媒体平台(streamingplatform)有三个关键功能:1.发布和订阅记录流。在这方面,类似于消息队列或企业消息系统。2.以容错方式存储记录流。3.实时处理记录流。Kafka被用于两大类应用程序:1.构建可在系统或应用程序之间可靠获取数据的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、基本概念

Kafka™用于构建实时数据流水线和流媒体应用,具有水平可扩展性,容错性,并在数千家公司得到了应用。
流媒体平台(streaming platform)有三个关键功能:
1. 发布和订阅记录流。 在这方面,类似于消息队列或企业消息系统。
2. 以容错方式存储记录流。
3. 实时处理记录流。

Kafka被用于两大类应用程序:
1. 构建可在系统或应用程序之间可靠获取数据的实时流数据流水线;
2. 构建对数据流进行变换或反应的实时流应用程序

重要定义:
1. Kafka以集群方式运行,包含一个或多个服务器上。
2. Kafka以topic形式保存记录。
3. 每条记录由一个键key,一个值value和一个时间戳timestamp组成。

Kafka有4个核心API:
1. Producer API允许应用程序将记录流发布到一个或多个Kafka主题。
2. Consumer API允许应用程序订阅一个或多个主题并处理为其生成的记录流。
3. Streams API允许应用程序充当流处理器,从一个或多个主题消耗输入流,并产生输出流到一个或多个输出主题,有效地将输入流转换为输出流。
4. Connector API允许构建和运行将Kafka主题与现有应用程序或数据系统相连接的可重复使用的生产者或消费者。 例如和关系数据库的连接器可能会捕获表的每个更改。

这里写图片描述
Kafka中客户端与服务器之间的通信使用TCP协议

Topics and Logs

Topic是记录的类别或Feed名称。 Kafka的主题总是多用户的; 也就是说,每个主题可以有零个,一个或多个消费者订阅订阅的数据。
对于每个主题,Kafka集群都会维护一个如下所示的分区日志。
这里写图片描述
每个分区是一个有序的,不可变的记录序列,不断附加到结构化的提交日志中。 每个分区中的记录都被分配一个顺序的id号,称为唯一标识分区内每个记录的偏移量offset
这里写图片描述
Kafka集群保留所有已发布的记录(无论它们是否已被使用 ), 使用可配置的保留期限。 例如,如果保留策略设置为两天,则在发布记录后的两天内,它可以消费,之后它将被丢弃以释放空间。
log的分区有几个目的:
1. 它们允许日志扩展到适合单个服务器的大小。 每个单独的分区必须适合托管它的服务器,但主题可能有很多分区,因此它可以处理任意数量的数据。
2. 一个分区作为并行计算的单位,有利于并行计算

Distribution

日志的分区分布在Kafka集群中的服务器上,每个服务器处理数据并请求共享的分区。 每个分区都跨可配置数量的服务器进行复制,以实现容错。
每个分区有一个服务器充当“leader”,零个或多个服务器充当“followers”。 leader处理分区的所有读取和写入请求,而followers做备份。 如果leader失败,其中一个follower将自动成为新的leader。 每个服务器作为其一些分区的leader,并且其他分支的followers,因此在集群内负载平衡良好。

Producers

生产者将数据发布到他们选择的主题。 生产者负责选择分配哪些记录在主题中哪个分区。 这可以通过循环方式简单地平衡负载,或者可以根据某些语义分区功能(例如基于记录中的某些关键字)来完成。 第二种方式使用地较多!

Consumers

Kafka总结起来就是:
1. Kafka as a Messaging System,与传统的消息队列和企业消息系统的对比
2. Kafka as a Storage System
3. Kafka for Stream Processing

参考文献:
Kafka官网:https://kafka.apache.org/intro.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181247.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 5分钟商学院之个人篇–演讲能力和沟通能力

    1.演讲能力1.1认知台阶影响力是成为领导的必要条件,而演讲是实现影响力最重要的方法之一经常有人说,全天下最难的两件事:一是把钱从别人的口袋里掏出来,二是把想法塞到别人的脑海中去。这个说法不

    2021年12月30日
  • createthread函数详解_createremotethread

    createthread函数详解_createremotethreadCreateRemoteThread和WriteProcessMemory技术示例程序:WinSpy另一种注入代码到其他进程地址空间的方法是使用WriteProcessMemoryAPI。这次你不用编写一个独立的DLL而是直接复制你的代码到远程进程(WriteProcessMemory)并用CreateRemoteThread执行之。让我们看一下CreateRemoteThread

  • 一窥直播技术新趋势「建议收藏」

    一窥直播技术新趋势「建议收藏」历经2016直播元年的爆发,直播App的虚火逐步降温,行业逐渐恢复理性,并不断探索新的产品形态与创新。这其中,技术扮演了不可或缺的角色,新的编码与传输协议,覆盖全球的网络架构,低延迟的音频传输与白板,基于深度学习的图像识别等,这一切进一步加强了各直播参与方的互动。基于Html5的直播技术,AR/VR,H.265编码普及,高清直播成本进一步降低,人工智能等技术又将让直播充满了更多想象。

  • 常见免费API接口[通俗易懂]

    常见免费API接口[通俗易懂]https://www.apishop.net/#/api/detail/?productID=215

  • eXtremeDB_5noobs

    eXtremeDB_5noobseXtremeDB™ 3.1fromMcObject®ReleaseNotesTargetOS:HP-UX11forPA-RISC,ItaniumHostOS:HP-UX11.xBYUSINGTHISSOFTWAREYOUAGREETOMcObject’s LICENSEAGREEMENT

    2022年10月14日
  • MySQL配置文件my.ini「建议收藏」

    MySQL配置文件my.ini「建议收藏」my.ini文件位置1、在我们的电脑上面找到mysql的安装路径,点击进去之后可以看到my.ini在mysql安装路径的根目录2、另外一种情况是我们在mysql安装目录找不到,看到了my-default.ini文件或者也没有,这时my.ini在“C:\ProgramData\MySQL\MySQLServerx.x”目录下面,我们首先需要找到ProgramData文件夹,这是一个隐藏文件,需要隐藏文件可见才行,或者可以直接检索我们可以看到在“C:\ProgramData\MySQL\MySQLS

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号