kafka-面试题

  • Kafka的用途有哪些?使用场景如何?
  1. 异步解耦
  2. 削峰降流
  3. 流式数据源
  • Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么
    概念是在分区的副本里面,一个分区有leader副本,和其他多个副本。
    leader副本与其他副本之间需要同步,这个过程会有同步完成和未同步完成2个状态。 AR-代表所有的副本集。 ISR:代表已同步的副本集。 当一个follow副本与leader副本同步滞后或者失效是,会从ISR副本集移除。

  • Kafka中的HW、LEO、分别代表什么?
    kafka中每个消息都有offset,
    HW代表消费者可消费的offset位置。
    LEO:当前写入的最新消息的offset

  • Kafka中是怎么体现消息顺序性的?
    每个分区内消息是按offset排序。

  • Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
    拦截器-》序列化器-》分区器
    序列化器:对msg的key、value进行序列化。
    拦截器: 生产者拦截器、消费者拦截器。主要处理一些预备工作。
    分区器: 如果没有指定分区,根据key计算消息发往的分区。

  • Kafka生产者客户端中使用了几个线程来处理?分别是什么?
    主线程、sender线程。 主线程主要完成消息的拦截器、序列化、分区器,并将消息存放到消息累加器。
    sender线程: 将消息发送到broker集群。 主要流程是将消息由分区转化为适合在网络上传输的数据格式,并将未返回成功的request保存到InflightLights。

  • “消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?如果正确,那么有没有什么hack的手段?
    正确, 可以通过设置partition.assignment.strategy分区分配策略。

  • 消费者提交消费位移时提交的是当前消费到的最新消息的offset还是offset+1?
    offset+1 ,表示的是下一条要拉取的消息。

  • 有哪些情形会造成重复消费?
    拉取一批消息【x,x+5】,消费逻辑处理完才提交offset,消费过程(x+3)出现异常,则下次继续从x拉取。
    消费者再均衡:再均衡是指的分区的所有权从一个消费者转移到另外一个消费者,如果之前的消费者还未来得及提交位移,则会造成重复消费。
    ps: 一般默认是自动提交,每隔5秒提交一次。

  • 那些情景下会造成消息漏消费?
    手动提交:拉取一批消息,立马提交offset,消费过程中出现异常。

  • KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
    一个消费者对应一个消费线程
    一个消费线程对应多个业务处理线程。

  • 简述消费者与消费组之间的关系
    一个消费者组有多个消费者,每个消费者对应一个或者多个分区。(消费者数量不超过分区数量的情况下)

  • 当你使用kafka-topics.sh创建(删除)了一个topic之后,Kafka背后会执行什么逻辑?
    根据分区数、副本因子,然后保证不同的分区副本在不同的broker中。

  • Kafka目前有哪些内部topic,它们都有什么特征?各自的作用又是什么?

  • 优先副本是什么?它有什么特殊的作用?
    对生产者与消费者提供读写服务。

  • Kafka有哪几处地方有分区分配的概念?简述大致的过程及原理。

  • 简述Kafka的日志目录结构
    一个topic对应对个分区文件夹,每个分区文件内有三类文件.log、offset索引文件、时间戳索引文件。 这三类文件明是以offset值命名。

  • Kafka中有那些索引文件?
    位移索引
    时间戳索引

  • 如果我指定了一个offset,Kafka怎么查找到对应的消息?
    先查找baseOffset找到对应的日志段,在对应的位移索引文件中通过二分查找,查找对应的offset的位移,找不到的话返回最近的位移区间,然后根据对应的物理地址到log日志段中查找对应的数据。

  • 如果我指定了一个timestamp,Kafka怎么查找到对应的消息?
    先在timestamp索引中查询offset,剩余过程同上。

  • 聊一聊你对Kafka的Log Retention的理解
    按照一定的保留策略直接删除不符合条件的日志分段。有三种策略基于时间的保留策略、基于日志大小的保留策略和基于日志起始偏移量的保留策略。

  • 聊一聊你对Kafka的Log Compaction的理解
    针对每个消息的 key 进行整合,对于有相同 key 的不同 value 值,只保留最后一个版本。

  • 聊一聊你对Kafka底层存储的理解(页缓存、内核层、块层、设备层)
    保存在磁盘,基于磁盘的顺序写。 采用页缓存、零拷贝技术。

  • 聊一聊Kafka的延时操作的原理
    延迟操作包括延迟拉取、延迟数据删除、延迟生产等。 每个延迟操作会被放到一个延迟操作管理器当中,每一个延迟操作管理器会配备一个定时器,定时器底层数据是基于时间轮实现。

  • 聊一聊Kafka控制器的作用
    它负责管理整个集群中所有分区和副本的状态。当某个分区的 leader 副本出现故障时,由控制器负责为该分区选举新的 leader 副本。当检测到某个分区的 ISR 集合发生变化时,由控制器负责通知所有broker更新其元数据信息。当使用 kafka-topics.sh 脚本为某个 topic 增加分区数量时,同样还是由控制器负责分区的重新分配。

  • 消费再均衡的原理是什么?(提示:消费者协调器和消费组协调器)

  • Kafka中的幂等是怎么实现的?

  • Kafka中的事务是怎么实现的?

  • Kafka中有那些地方需要选举?这些地方的选举策略又有哪些?

  • 失效副本是指什么?有那些应对措施?

  • 多副本下,各个副本中的HW和LEO的演变过程

  • 为什么Kafka不支持读写分离?

  • Kafka在可靠性方面做了哪些改进?(HW, LeaderEpoch)

  • Kafka中怎么实现死信队列和重试队列?

  • Kafka中的延迟队列怎么实现

  • Kafka中怎么做消息审计?

  • Kafka中怎么做消息轨迹?

  • Kafka有哪些指标需要着重关注?

  • 怎么计算Lag?(注意read_uncommitted和read_committed状态下的不同)

  • Kafka的那些设计让它有如此高的性能?

  • Kafka有什么优缺点?

  • 还用过什么同质类的其它产品,与Kafka相比有什么优缺点?

  • 为什么选择Kafka?
    在使用Kafka的过程中遇到过什么困难?怎么解决的?
    怎么样才能确保Kafka极大程度上的可靠性?
    聊一聊你对Kafka生态的理解

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容