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分区的目的?

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

相关推荐
码不停蹄的玄黓4 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
王小王-1234 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
要开心吖ZSH6 小时前
《Spring 中上下文传递的那些事儿》Part 4:分布式链路追踪 —— Sleuth + Zipkin 实践
java·分布式·spring
幼稚园的山代王7 小时前
RabbitMQ 4.1.1初体验
分布式·rabbitmq·ruby
百锦再7 小时前
RabbitMQ用法的6种核心模式全面解析
分布式·rabbitmq·路由·消息·通道·交换机·代理
一路向北North7 小时前
RabbitMQ简单消息监听和确认
分布式·rabbitmq·ruby
真实的菜7 小时前
Kafka生态整合深度解析:构建现代化数据架构的核心枢纽
架构·kafka·linq
一路向北North14 小时前
使用reactor-rabbitmq库监听Rabbitmq
分布式·rabbitmq·ruby
Amy1870211182320 小时前
赋能低压分布式光伏“四可”建设,筑牢电网安全新防线
分布式
June bug1 天前
【软考中级·软件评测师】下午题·面向对象测试之架构考点全析:分层、分布式、微内核与事件驱动
经验分享·分布式·职场和发展·架构·学习方法·测试·软考