Kafka面试题(一)

文章目录


1、Kafka的设计架构你知道吗?

Kafka 架构包含有生产者、消费者、topic(主题)、broker(就是一台Kafka服务器),为了方便扩展,并提高吞吐量,一个topic分为多个分区、配合分区的设计提出了消费者组的概念,组内消费者并行消费,为提高数据的可靠性,每个分区有多个副本,而这些副本经过选举决定谁是Leader,谁是Follower,Leader 发生故障时,某个 Follower 会成为新的 Leader。

2、Kafka消息发送流程(面试重点)

在消息发送的过程中,会有两个线程,分别是main线程和sender线程,这两个线程中间还有一个双端队列(RecordAccumulator)。消息经过主线程的处理,发送给了双端队列,sender线程会从双端队列中拉取数据,然后再将数据发送给Kafka集群。
(下面的参数想起几个说几个:) 当然,其中还会有很多重要的参数,比如:

可以设置双端队列缓冲区的总大小,可以设置双端队列里每个队列缓存数据的最大值,默认是16KB,可以设置数据最大等待时长。

kafka集群在收到消息后也可以设置ack应答级别,有三个参数,0、1、-1,其中0代表不应答,1代表Leader应答即可,-1代表Leader 和 ISR 队列里面的所有节点都需要应答,可以设置sender线程里面最多可以缓存kafka集群没有应答的请求数量,默认为5,也可以设置数据发送失败后重新发送的次数。

3、Kafka分区的目的?

便于合理使用存储资源以及提高并行度

相关推荐
独行侠影a4 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
香菜TTT7 小时前
Kafka_深度解析_从架构原理到生产实践
分布式·架构·kafka·linq
zcmodeltech12 小时前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
wWYy.13 小时前
基于Raft分布式Kv存储:RPC调用
分布式·rpc
笨蛋不要掉眼泪13 小时前
RabbitMQ消息队列:SpringAMQP
java·分布式·rabbitmq
发量惊人的中年网工14 小时前
SD-WAN如何赋能工业物联网?打造工厂网络远程连接和数据传输新方案
运维·网络·分布式·物联网
java1234_小锋14 小时前
【免费】基于Spark实时金融交易风险监控与预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
大数据·spark·kafka·金融交易风险监控与预测
段一凡-华北理工大学14 小时前
AI推动工业智能化转型~系列文章05:特征工程:工业 AI 的第一生产力
数据库·人工智能·分布式·搜索引擎·特征工程·高炉智能化
梦想画家15 小时前
FilePulse:Kafka Connect 的“智能文件网关”,重塑数据接入新范式
kafka·文件连接器·filepulse
Devin~Y15 小时前
从本地生活电商到 AI RAG:互联网大厂 Java 面试场景完整实战
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag