首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
龚拓新
蚂蚁集团_研发工程师
发布于上海
关注
已关注
取消关注
@doc123:
Kafka常见面试题(一)
1、Kafka 可以脱离 zookeeper 单独使用吗?为什么? kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。 2、kafka 有几种数据保留的策略? kafka 有两种数据保存策略:基于过期时间和基于存储的消息大小。 3、什么情况会导致 kafka 运行变慢? cpu 性能瓶颈 磁盘读写瓶颈 网络瓶颈 4、Kafka中的分区器、序列化器、拦截器的处理顺序是什么? 拦截器->序列化器->分区器 5、Kafka为什么不支持读写分离? 如果支持了读写分离,就意味着可能的数据不一致,或数据滞后。 这其实是分布式场景下的通用问题,因为我们知道CAP理论下,我们只能保证C(可用性)和A(一致性)取其一,如果支持读写分离,那其实对于一致性的要求可能就会有一定折扣,因为通常的场景下,副本之间都是通过同步来实现副本数据一致的,那同步过程中肯定会有时间的消耗。 Leader/Follower模型并没有规定Follower副本不可以对外提供读服务。很多框架都是允许这么做的,只是 Kafka最初为了避免不一致性的问题,而采用了让Leader统一提供服务的方式。不过,自Kafka 2.4之后,Kafka提供了有限度的读写分离,也就是说,Follower副本能够对外提供读服务。 6、Java Consumer 为什么采用单线程来获取消息? 首先,Java Consumer是双线程的设计。其中一个线程是用户主线程,负责获取消息;另一个线程是心跳线程,负责向Kafka汇报消费者存活情况。将心跳单独放入专属的线程,能够有效地规避因消息处理速度慢而被视为下线的“假死”情况。 单线程获取消息的设计能够避免阻塞式的消息获取方式。单线程轮询方式容易实现异步非阻塞式,这样便于将消费者扩展成支持实时流处理的操作算子。因为很多实时流处理操作算子都不能是阻塞式的。 另外一个可能的好处是,可以简化代码的开发。多线程交互的代码是非常容易出错的。 7、Kafa consumer 是否可以消费指定分区消息? 可以。Kafa consumer 消费消息时,向 broker 发出"fetch"请求去消费特定分区的消息,consumer 指定消息在日志中的偏移量(offset),就可以消费从这个位置开始的消息,customer 拥有 了 offset 的控制权,可以向后回滚去重新消费之前的消息,这是很有意义的 8、Kafka 消息是采用 Pull 模式,还是 Push 模式? Kafka 遵循了一种大部分消息系统共同的传统的设计:producer 将消息推送到 broker,consumer 从 broker 拉取消息 9、Kafka中的ISR、AR代表什么?ISR的伸缩又指什么? ISR:In-Sync Replicas 副本同步队列 AR:Assigned Replicas 所有副本 ISR是由leader维护的,follower从leader同步数据有一些延迟,如果延迟超过阈值就会把follower剔除出ISR, 存入OSR(Outof-Sync Replicas)列表,新加入的follower也会先存放在OSR中。AR=ISR+OSR。 10、kafka follower如何与leader同步数据? Kafka的复制机制既不是完全的同步复制,也不是单纯的异步复制。完全同步复制要求All Alive Follower都复制完,这条消息才会被认为commit,这种复制方式极大的影响了吞吐率。而异步复制方式下,Follower异步的从Leader复制数据,数据只要被Leader写入log就被认为已经commit,这种情况下,如果leader挂掉,会丢失数据。 kafka使用ISR的方式很好的均衡了确保数据不丢失以及吞吐率。Follower可以批量的从Leader复制数据,而且Leader充分利用磁盘顺序读以及send file(zero copy)机制,这样极大的提高复制性能,内部批量写磁盘,大幅减少了Follower与Leader的消息量差。
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-11 22:31
广州市第二中学 Java
26届秋招 - 海康威视 - 测试面经
面试无反问,没感谢信,直接踢出钉钉群,印象不太好... 岗位:测试工程师,地点:杭州,海面kpi,避雷!
点赞
评论
收藏
分享
10-14 20:43
已编辑
东南大学 C++
小米校招求问,是不是骗子?
为啥我流程终止了还有面试啊?是骗子还是纯纯KPI面?
点赞
评论
收藏
分享
09-22 17:09
广东工业大学 前端工程师
终于可以躺了
迷茫的大四🐶:
我不许你接受,我不许你启动咏鹅
点赞
评论
收藏
分享
10-10 07:34
清华大学 Java
阿里 Java 一面面经
一、面试基本情况时间:2025年9月下旬岗位:Java 后端开发工程师形式:远程视频面试时长:约 60 分钟面试内容比例:基础 30%,并发与集合 30%,JVM 20%,项目与系统设计 20%全网最全面的java面试八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/0n9XOd二、面试流程概览Java 基础语法与机制集合框架与并发编程JVM 原理与性能优化项目设计与系统思维开放性与场景题三、详细面试题目1. Java 基础Java 中重载与重写的区别是什么?== 和 equals() 的区别?为什么 String 是不可...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
面试最后的反问环节,能问些什么?(附特供问题)
1.3W
2
...
从面试官的角度看待一场面试是怎么样的?
1.1W
3
...
最近面试回答不出来的题
8208
4
...
害,找工作哪有不上当的!
6529
5
...
从摆烂到OC,嵌入式人的血泪史
4757
6
...
作为普通家庭出身的我,为什么非大厂不可?
4317
7
...
双非硕的十月份秋招总结
4119
8
...
找到靠谱的公司,少走些弯路
3246
9
...
项目经历混乱?STAR法则手把手教你梳理(附真实案例分析过程)
3157
10
...
末9四段大厂实习|秋招收尾结束
2711
创作者周榜
更多
正在热议
更多
#
实习在多还是在精
#
12063次浏览
132人参与
#
反问环节如何提问
#
109436次浏览
2152人参与
#
爱玛科技集团求职进展汇总
#
32200次浏览
217人参与
#
你见过哪些工贼行为
#
7247次浏览
49人参与
#
我的求职进度条
#
7276次浏览
111人参与
#
找工作中的小确幸
#
18027次浏览
168人参与
#
实习下班不想学习,正常吗?
#
8931次浏览
115人参与
#
运营每日一题
#
103243次浏览
865人参与
#
秋招踩过的“雷”,希望你别再踩
#
36253次浏览
491人参与
#
设计人的面试记录
#
156785次浏览
1513人参与
#
校招谈薪一定要知道的事
#
6773次浏览
82人参与
#
远程面试的尴尬瞬间
#
194006次浏览
1253人参与
#
你觉得什么岗位会被AI替代
#
9957次浏览
131人参与
#
工作中,努力重要还是选择重要?
#
201985次浏览
2050人参与
#
顺丰求职进展汇总
#
60722次浏览
299人参与
#
选完offer后,你后悔学机械吗?
#
40417次浏览
243人参与
#
面试时最害怕被问到的问题
#
630563次浏览
8614人参与
#
社会教会你的第一课
#
106276次浏览
853人参与
#
浪潮求职进展汇总
#
18620次浏览
140人参与
#
实习生应该准时下班吗
#
291862次浏览
1613人参与
#
实习最想跑路的瞬间
#
83175次浏览
527人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务