大数据面试专题 -- kafka

1、什么是消息队列?

是一个用于存放数据的组件,用于系统之间或者是模块之间的消息传递。

2、消息队列的应用场景?

主要是用于模块之间的解耦合、异步处理、日志处理、流量削峰

3、什么是kafka?

kafka是一种基于订阅发布模式的高性能,高吞吐的实时的消息队列,是一个分布式系统,高性能的TCP网络协议进行的。

4、消息队列的模式主要分成两种模式?

a、生产者、消费者模式

b、消息队列模式

5、kafka的组成:

kafaka主要是由生产者、消费者、broker、zookeeper组成

其中:

        生产者:生产数据

        消费者:消费数据

        broker:是kafka集群中服务器节点

        topic:一个topic是kafka集群中数据流中的列别,存储数据

        partition:一个topic可以分成多个分区。

        replica:副本,实现kafka集群的容错

        consumer group:消费者组,对于同一个消费者中的消费者可以消费同一个topic

        offset:偏移量,对于消费者和partition来说,可以通过offset进行拉取数据。

6、在kafka集群中,对于分区也分leader和follower(在分区的层面上讨论)

leader :只负责读写数据

follower:负责同步数据,选举作用。

7、幂等性:

所谓的幂等性就是无论生产者向broker中发送多少条数据,broker只会持久化一条数据

实现原理:

当生产者生产完数据就会发送到分区中进行保存,此时kafka就会向生产者发送ack信号,当生产者接受的ack响应表示数据保存,否则就会重新发送一条相同的数据。

8、副本的ack机制:

1、acks=0,生产者只负责写入数据,不管数据是否写入成功,数据可能会丢失,性能是最好的。

2、acks=1,生产者将数据写入到leader中,返回写入成功,就会继续发送下一条数据

3、acks=-1/all,生产者将数据写入到leader中,同时也会将数据写入到副本中,当所有的数据都写入成功后,就返回写入成功,才会发送下一条数据。

9、生产者写入分区的策略:

1、轮询负载策略:将数据循环写入分区中

2、基于hash的分区策略:根据hash的值进入不同的分区中

3、基于key写入分区:通过hash值与分区的个数继续取余,但是会导致数据倾斜。

4、消费者消费数分区分配策略:默认使用的是range分配。

10、leader选举:

在kafka集群中,controller是通过zk进行选举。在分区中的leader是通过ISR进行选举的。

11、kafka的读写流程:

kafka的读数据:

        1、通过zk找出partition对应的leader,leader负责读取数据。

        2、通过zk找出对应的消费者的offset

        3、leader从对应的offset开始读取数据

        4、提交offset

kafka的写数据

        1、通过zk找到对应的partition对应的leader,leader负责写入数据

        2、生产者向leader中写入数据

        3、ISR中的fllower负责同步数据,并返回ack给leader。

        4、返回ack给生产者。

12、kafka性能高的原因:

        1、kafka采用的是一个sendfile的零拷贝技术

        2、kafka是批量写入和读取的,一批批的写入数据,默认写入和读取的大小约64kb左右。是在分区级别上来说明的。

        3、kafka写磁盘是顺序读取和写入的。

13、kafka中的文件删除策略:

        默认是7天作为一个周期,删除的是整个文件,系统默认是1G生成一个文件,可以在配置文件中修改:

server.properties
14、kafka中分区的目的:

实现分布式,一个topic的数据量非常大,只存在同一个分区中压力会比较大。

15、在Kafka中是如何保证数据不丢失:

        1、broker保证数据不丢失的原因是副本机制

        2、生产者保证数据不丢失的原因是acks机制

        3、消费者保证数据不丢失的原因是控制offset

16、zk在Kafka中作用:

        1、负责选举controller

        2、存储元数据信息

17、kafka的架构:

        主节点:controller

        从节点:borker

18、消费者和消费者组的关系:

1、消费者是负责订阅分区中的数据,然而对于消费者组来说是负责订阅topic的

2、一个消费者组中包含多个消费者,同一个消费者组中消费者可以订阅同一个topic

19、在Kafka中是如何保证数据的安全性

是通过kafka中的副本机制保证了数据的安全性。

20、怎么解决kafka数据量过大

1、可以增加topic的分区数,可以提高并行处理更多的数据

kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --partitions 10

2、增加副本因子,可以提高数据的冗余,提高数据的可靠性 

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --replication-factor 3

3、调整消费者的并行度

4、优化生产者配置:

batch.size:增加批处理提高吞吐量

5、配置清理策列:根据数据保留策略配置日志保留时间和日志大小,定期清理旧数据 

6、扩大kafka集群的规模:增加broker节点的数量

21、在Kafka中生产者是如何保证数据不丢失的

通过acks机制保证数据不丢失。

22、kafka中是如何保证数据不重复的

在kafka中使用幂等性来保证数据不重复的,在发送数据的时候,会给数据定义一个编号ID,当下次传输数据的时候ID+1,将数据写入的时候会记住这个编号,如果下一条数据的ID与上一个数据的ID一致,那么说明数据重复,不写入,返回ack。

23、消费者出问题,如何保证数据不丢失

kafka中使用commit offset 机制,会将消费的位置存储到comsumer-offset文件中。

24、什么是AR、ISR、OSR

AR:所有的副本

ISR:健康的副本

OSR:有问题的副本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过SSH在苹果手机上查看系统文件:远程访问iOS文件系统的方法

​ 目录 引言 用户登录工具和连接设备 查看设备信息,电池信息 查看硬盘信息 硬件信息 查看 基带信息 销售信息 电脑可对手机应用程序批量操作 运行APP和查看APP日志 IPA包安装测试 注意事项 引言 苹果手机与安卓手机不同,无法直接访问系统文件…

python基于django协同算法的个性化音乐推荐系统的设计与实现

本个性化音乐推荐系统以Django作为框架,b/s模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:首页,个人中心,用户管理,歌曲类型管理,明星歌手管理,歌曲音乐管理,歌曲…

权限提升技术:攻防实战与技巧

本次活动赠书1本,包邮到家。参与方式:点赞收藏文章即可。获奖者将以私信方式告知。 网络安全已经成为当今社会非常重要的话题,尤其是近几年来,我们目睹了越来越多的网络攻击事件,例如公民个人信息泄露,企业…

【Jenkins】关于账号,证书验证的设置问题

当你的电脑启动了Jenkins,这时候一定要小心更改管理员账号和密码~~~ 当你的电脑启动了Jenkins,这时候一定要小心更改管理员账号和密码~~~ 当你的电脑启动了Jenkins,这时候一定要小心更改管理员账号和密码~~~ 重要的事情说3遍,如…

阿里云数据库服务器价格表查询_一张表精准报价

阿里云数据库服务器价格表,优惠99元一年起,ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘,优惠价格99元一年;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年,云数据库PostgreSQL、SQL Serve…

财经界投稿发表论文知网收录

《财经界》是由国家新闻出版总署批准、国家发展计划委员会主管、国家信息中心主办的正规国家级经济类期刊。本刊为大型财经刊物,旨在介绍国家宏观经济政策、经济环境、经济信息和分析经济热点问题。杂志面向各级政府决策层、财经高管人员、研究机构的专家学者、资本…

ES学习日记(九)-------logstash导入数据

一、安装和下载 es官网下载地址 官方介绍:Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。(我们的存储库当然是 Elasticsearch。) 下载和ES一样的版本(很重要,必须这…

轻量应用服务器16核32G28M腾讯云租用优惠价格4224元15个月

腾讯云16核32G服务器租用价格4224元15个月,买一年送3个月,配置为:轻量16核32G28M、380GB SSD盘、6000GB月流量、28M带宽,腾讯云优惠活动 yunfuwuqiba.com/go/txy 活动链接打开如下图: 腾讯云16核32G服务器租用价格 腾讯…

Acwing.1388 游戏(区间DP对抗思想)

题目 玩家一和玩家二共同玩一个小游戏。 给定一个包含 N个正整数的序列。 由玩家一开始,双方交替行动。 每次行动可以在数列的两端之中任选一个数字将其取走,并给自己增加相应数字的分数。(双初始分都是 0分) 当所有数字都被…

VPN——GRE

1、VPN概念 Virtual Private Network ①虚拟专用网络 ②在公有的网络上架设私有的通道,构建一个专用的、安全性、服务质量得到保障的网络 ③实质:数据包的再封装与解封装的过程 2、分类 按照业务用途:【1】access:外出员工…

FIT-RAG:RAG架构是否正在趋向于标准化方法?

原文地址:fit-rag-are-rag-architectures-settling-on-a-standardised-approach 2024 年 4 月 2 日 随着RAG的使用,漏洞开始显现,这些问题的解决方案也开始变得越来越相似。 介绍 随着技术的不断发展,我们注意到一个有趣的现象&am…

rasa trian 报错解决---Project validation completed with errors.

rasa train 过程中:出现一下问题; Project validation completed with errors. 解决措施:python 3.10版本,rasa 3.6.19, 降低版本 pip3 install rasa3.5.17 -i https://pypi.tuna.tsinghua.edu.cn/simple成功解决

CS架构---Socket基础

目录 一、Socket简介1.1 通信模型1.2 类型1.3 创建和使用:1.4 地址族 二、客户/服务器模式2.1 服务器端(Server Side)2.2 客户端(Client Side)2.3 通信方式2.4 角色分工2.5 优点 三、Socket实战四、常见应用场景 一、S…

7个影响AEC的AI工具

人工智能(AI)工具在各个行业中越来越受欢迎,ChatGDP的推出无疑让人们看到了人工智能所能提供的可能性。 然而,人工智能不仅仅是生成文本或图形——它可以用于各种设置。 建筑行业也不例外,我们才刚刚开始发现人工智能…

探索----------------阿里云

目录 一、阿里云四大件 1、云服务器ECS 2、云数据库RDS 3、负载均衡SLB 4、对象存储OSS 5、其他的云计算产品 1)内容分发网络CDN 2)专有网络 VPC 二、linux发行版本 三、你平时对系统会怎么优化(五大负载) 1、cpu 使用率…

kettle使用MD5加密增量获取接口数据

kettle使用MD5加密增量获取接口数据 场景介绍: 使用JavaScript组件进行MD5加密得到Http header,调用API接口增量获取接口数据,使用json input组件解析数据入库 案例适用范围: MD5加密可参考、增量过程可参考、调用API接口获取…

五、postman基础使用案例

postman基础使用 相关案例【传递查询参数】【提交表单数据】【提交JSON数据】 注:postman⼀款⽀持调试和测试的⼯具,开发、测试⼯程师都可以使⽤。方法一般统一为:方法→请求头→请求体→断言 相关案例 【传递查询参数】 访问TPshop搜索商品的…

【项目实战经验】DataKit迁移MySQL到openGauss(上)

前言 本文将分享DataKit迁移MySQL到openGauss的项目实战,供广大openGauss爱好者参考。 1. 下载操作系统 https://www.openeuler.org/zh/download https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956 https://support.huawei.com/enterprise…

力扣热门算法题 174. 地下城游戏,189. 轮转数组,198. 打家劫舍

174. 地下城游戏,189. 轮转数组,198. 打家劫舍,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.31 可通过leetcode所有测试用例。 目录 174. 地下城游戏 解题思路 完整代码 Python Java 189. 轮转数…

The Sandbox 与 Otherworld 合作推出元宇宙网络漫画中心

​ The Sandbox 将与韩国初创公司 Otherworld 合作,建立一个元宇宙网络动漫中心,为用户提供基于 KakaoPage 热门 IP 的各种体验。 Solo Leveling 是此次合作的第一个 IP。这部网络动画将深入主人公Sung Jinwoo的生活,并与 NFT 进行整合。随后…