Kafka面试题整理

本文详细介绍了Kafka在大数据领域的应用、解决的问题、核心概念如ISR、AR、HW、LEO等,以及消息顺序性、消费者设计、元数据、消费组、线程安全等内容,涵盖了Kafka的生产者、消费者、分区和副本管理等多个方面,是准备Kafka面试的全面参考资料。
摘要由CSDN通过智能技术生成

问题来自“朱小厮的博客”的Kafka面试题全套整理 | 划重点要考!
朱小厮给出了问题,下面是我对这些问题解答。

文章目录

Kafka的用途有哪些?使用场景如何?

Kafka的优势如下:
高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒;
可扩展性:kafka集群支持热扩展;
持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;
容错性:允许集群中节点故障(若副本数量为n,则允许n-1个节点故障);
高并发:支持数千个客户端同时读写。
Kafka的劣势如下:
无法弹性扩容:对partition的读写都在partition leader所在的broker,如果该broker压力过大,也无法通过新增broker来解决问题;
扩容成本高:集群中新增的broker只会处理新topic,如果要分担老topic-partition的压力,需要手动迁移partition,这时会占用大量集群带宽;
消费者新加入和退出会造成整个消费组rebalance:导致数据重复消费,影响消费速度,增加e2e延迟;
partition过多会使得性能显著下降:ZK压力大,broker上partition过多让磁盘顺序写几乎退化成随机写。
原文链接:https://blog.csdn.net/zjjcchina/article/details/122359951
Kafka的使用场景:
1、日志的收集:
kafka的特性决定它非常适合作为"日志收集中心";application可以将操作日志"批量""异步"的发送到kafka集群中,而不是保存在本地或者DB中;kafka可以批量提交消息/压缩消息等,这对producer端而言,几乎感觉不到性能的开支.此时consumer端可以使hadoop等其他系统化的存储和分析系统。
2、消息系统
解耦生产者和消费者、缓存消息等;
3、用户的活动跟踪
kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后消费者通过订阅这些topic来做实时的监控分析,亦可保存到数据库;
3、 运营指标
kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;
4、 流式处理
比如spark streaming和storm。
原文链接:https://blog.csdn.net/weixin_42324471/article/details/121908717
原文链接:https://blog.csdn.net/weixin_44787000/article/details/106668642

Kafka作为消息队列,它可解决什么样的问题?

kafka是一个分布式的基于发布/订阅模式的消息队列
消息队列 = 消息 + 队列
消息 : 说白了就是数据(请求数据、业务数据等等)
队列 : 就是队列(数据结构中线性表或链表实现的先入先出的队列)
消息队列就是存放数据的队列

缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。
解耦和扩展性:项目开始的时候,并不能确定具体需求。消息队列可以作为一个接口层,解耦重要的业务流程。只需要遵守约定,针对数据编程即可获取扩展能力。
冗余:可以采用一对多的方式,一个生产者发布消息,可以被多个订阅topic的服务消费到,供多个毫无关联的业务使用。
健壮性:消息队列可以堆积请求,所以消费端业务即使短时间死掉,也不会影响主要业务的正常进行。
异步通信:在复杂的调用链中,总是会出现前面的系统等待后面的系统的结果,这是由于各系统间的处理信息的速度不一致导致。
如果使用Kafka,就可以做到发送消息给kafka后就返回消息给用户,然后后面的系统异步的去处理。
原文链接:https://blog.csdn.net/qq_36721495/article/details/117130590

Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么

分区中的所有副本统称为AR(Assigned Repllicas)。所有与leader副本保持一定程度同步的副本(包括Leader)组成ISR(In-Sync Replicas),ISR集合是AR集合中的一个子集。与leader副本同步滞后过多的副本(不包括leader)副本,组成OSR(Out-Sync Relipcas),由此可见:AR=ISR+OSR。
ISR的伸缩:
leader副本负责维护和跟踪 ISR 集合中所有follower副本的滞后状态,当follower副本落后太多或失效时,leader副本会把它从

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值