版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Kafka消息队列培训试卷一、单项选择题(本大题共10小题,每小题2分,共20分;在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选答案的代码填写在答题括号内,错选、多选或未选均不得分)1.以下选项中,哪个是ApacheKafka最核心的设计目标?()A.支持复杂的消息路由和事务处理,保证全局消息强一致B.实现高吞吐量、低延迟的持久化消息传输与处理,支撑高并发流数据场景C.替代传统的关系型数据库存储核心业务数据,降低存储成本D.提供完善的消息队列管理界面,支持可视化的消息路由配置2.Kafka中消息数据的最小物理存储单元是以下哪一项?()A.TopicB.PartitionC.SegmentD.Offset3.在传统基于Zookeeper的Kafka集群部署架构中,以下哪个组件负责存储集群元数据、完成控制器选举,并不存储实际业务消息数据?()A.BrokerB.ZookeeperC.ProducerD.Controller4.KafkaProducer发送消息时,以下哪种acks配置可以实现最高的消息可靠性,同时吞吐量最低?()A.acks=0B.acks=1C.acks=allD.acks=25.在一个Kafka消费者组中,一个Topic分区最多可以被几个消费者同时消费?()A.1个B.等于消费者组内消费者数量C.分区副本数量个D.无限制6.Kafka中ISR的正确全称是?()A.In-StandbyReplicasB.In-SyncReplicasC.InternalServiceRegistryD.InstanceSyncReplica7.以下哪个业务场景不适合使用Kafka?()A.日增量十亿条的业务日志和行为数据收集B.微服务架构中系统间的异步解耦,削峰填谷C.高并发场景下百万QPS的热点缓存数据存取D.大数据实时计算框架的数据源接入与传输8.Kafka官方Java客户端中,消费者默认的位移提交方式是?()A.每次拉取消息后立即手动提交B.按固定时间间隔自动提交C.消费成功后手动提交D.由Broker主动触发位移提交9.以下关于Kafka消费者Rebalance机制的描述,正确的是?()A.只有新增分区或消费者的时候才会触发Rebalance,原有消费者不受影响B.Rebalance发生时,消费者组内所有消费者都会重新参与全部分区的分配,分配完成前消费会中断C.Rebalance过程中消费者可以继续消费原有分区的消息,不会影响服务可用性D.Rebalance只会影响新加入的消费者,不会影响原有已经分配分区的消费者10.KafkaKRaft部署模式相比传统Zookeeper模式的核心优势是?()A.大幅提升单条消息的存储可靠性,避免消息丢失B.降低单条消息的发送延迟,提升端到端吞吐量C.移除了对Zookeeper的外部依赖,简化集群架构,支撑更大规模的集群扩展D.支持更多的副本数量,提升服务可用性二、多项选择题(本大题共5小题,每小题4分,共20分;下列每小题有多个正确答案,多选、少选、错选均不得分,请将所选答案的代码填写在答题括号内)1.Kafka的核心组件包括以下哪些?()A.Topic(主题)B.Partition(分区)C.Producer(生产者)D.Consumer(消费者)E.Broker(服务节点)2.Kafka生产者发送消息的常用模式包括以下哪几种?()A.同步发送B.异步发送C.事务发送D.广播发送3.以下哪些配置调整可以有效提升Kafka生产者发送消息的吞吐量?()A.增大batch.size参数B.将acks设置为0C.适当增大linger.ms参数D.开启消息压缩4.以下哪些场景会导致Kafka出现消息重复消费?()A.消费者消费消息成功后,还未提交位移就发生宕机,重启后会重复拉取已经消费的消息B.生产者发送消息超时,触发重试机制导致消息重复发送C.Broker发生Leader切换,原有ISR外副本被选为新Leader,出现消息重复D.消费者组发生Rebalance后,分区重新分配,新消费者从上一次提交的位移处拉取,导致重复消费5.为了保证Kafka消息的可靠性,避免消息丢失,以下做法正确的有?()A.生产者将acks设置为all,要求ISR所有副本都写入成功才返回成功B.生产者开启幂等性配置,避免重试导致的消息重复C.消费者采用手动提交位移的方式,在消息消费完成后再提交位移,避免消费失败导致位移提前提交D.Topic分区设置多个副本,避免单Broker宕机导致消息无法访问或丢失三、判断题(本大题共10小题,每小题2分,共20分;请将判断结果填写在括号内,正确填√,错误填×)1.Kafka默认只能保证同一个分区内的消息有序,无法保证同一个Topic全部分区的全局消息有序。()2.当消费者组消费能力不足时,只要消费者组内消费者数量小于Topic总分区数,增加消费者数量就可以提升整体消费吞吐量。()3.基于Zookeeper部署的Kafka集群,业务消息数据存储在Zookeeper中,Broker只负责请求转发。()4.Kafka默认配置下,当ISR中所有副本都宕机后,会自动选择ISR外的未同步副本作为新Leader,保证服务可用。()5.Kafka的消息清理策略只能按照消息保留时间删除过期消息,不支持按照磁盘占用容量清理。()6.开启Kafka生产者幂等性后,可以保证生产者单会话内消息不会重复写入,实现幂等性。()7.同一个Kafka消费者组可以同时订阅多个不同的Topic,进行消费。()8.Kafka消费者Rebalance只会在消费者加入或退出消费者组的时候触发,其他场景不会触发。()9.Kafka利用操作系统页缓存和零拷贝机制优化读写性能,大幅减少了用户态和内核态的切换开销,提升了IO吞吐量。()10.Kafka事务可以实现生产者跨多个分区的消息原子性写入,保证所有消息要么全部成功要么全部失败。()四、简答题(本大题共3小题,每小题8分,共24分)1.请简述Kafka中AR、ISR、OSR三个概念的定义,说明三者之间的关系。2.请简述Kafka产生消息重复消费的核心原因,列举常用的解决方法。3.请对比Kafka生产者同步发送和异步发送的区别,分别说明二者的适用场景。五、综合应用题(本大题共1小题,共16分)某电商公司将原有单体架构拆分为订单、库存、支付、物流、用户中心多个微服务,业务运行中遇到两个核心问题:一是下单接口高峰期响应过慢,用户支付完成后,订单服务需要同步调用库存扣减、物流初始化、短信通知、积分发放四个接口,高峰期下单超时率超过10%;二是每日有近1.2亿条用户端行为日志需要收集,供大数据团队做实时用户画像分析,原有采集方案丢包率高,无法支撑实时计算需求。技术团队计划引入Kafka解决上述问题,请结合Kafka相关知识回答以下问题:(1)结合Kafka的核心特性,说明为什么Kafka适合解决上述两个业务场景的问题?(6分)(2)业务要求最终做到消息不丢失、不重复消费,请从生产者、Broker、消费者三个层面分别给出对应的设计和配置方案。(6分)(3)大促高峰期出现了严重的消费积压,消费者消费速度远低于生产速度,请列出至少三种可行的解决方案。(4分)参考答案一、单项选择题1.B2.C3.B4.C5.A6.B7.C8.B9.B10.C二、多项选择题1.ABCDE2.ABC3.ABCD4.ABD5.ABCD三、判断题1.√2.√3.×4.×5.×6.√7.√8.×9.√10.√四、简答题1.(1)三个概念的定义:①AR(AllReplicas):指一个Topic分区所有副本的集合,无论副本是否与Leader保持同步,都属于AR集合;②ISR(In-SyncReplicas):是AR集合的子集,指所有与Leader副本保持同步、数据差不超过限定阈值的副本集合,只有ISR中的副本才有资格被选举为新的Leader;③OSR(Out-SyncReplicas):同样是AR集合的子集,指与Leader副本同步差距超过了限定阈值,已经落后的副本集合,OSR中的副本默认没有资格成为Leader。(4分)(2)三者的关系:AR是一个分区所有副本的总集合,AR可以划分为ISR和OSR两个子集,AR=ISR∪OSR;当OSR中的副本追上Leader的同步进度后,会被重新加入到ISR集合中;当ISR中的副本同步落后超过阈值,会被移出ISR集合,进入OSR集合。(4分)2.核心原因:Kafka本身在设计上默认保证消息至少投递一次,在多个异常场景下都会出现重复,核心原因包括:消息已经被消费成功,但消费者的位移没有成功提交到Broker,导致下一次拉取的时候从旧位移开始,重复拉取已经消费过的消息;生产者发送消息超时,为了保证不丢消息触发重试,导致Broker中存在重复的消息;消费者组发生Rebalance后分区重新分配,新消费者从上一个提交的位移开始消费,已经消费但未提交位移的消息会被重复消费。(3分)常用解决方法:①业务侧实现幂等处理:给每条消息分配全局唯一的业务ID,消费的时候先判断该ID是否已经处理过,处理过就跳过,这是最常用的方法,适合绝大多数业务场景;②利用Kafka原生幂等性:生产者开启幂等性配置,避免生产者重试导致的消息重复写入;③事务处理:生产者使用事务发送消息,消费者结合事务消费,保证消息只处理一次;④去重表存储:利用数据库去重表存储已经处理过的消息ID,消费前查询去重表判断是否处理过,避免重复处理带来的脏数据。(5分,答出任意三点即可得满分)3.同步发送和异步发送的核心区别:①发送逻辑不同:同步发送是生产者发送消息后,会阻塞等待Broker返回发送结果,确认发送成功后才会发送下一条消息;异步发送是生产者发送消息后直接返回,不会阻塞等待,发送结果通过回调函数异步通知生产者;②吞吐量不同:同步发送因为需要阻塞等待响应,单线程吞吐量远低于异步发送;③异常处理逻辑不同:同步发送可以直接捕获发送异常,即时处理失败的消息,可靠性控制更简单;异步发送需要在回调函数中处理异常,逻辑相对复杂。(4分)适用场景:①同步发送:适合消息重要性高、发送量不大的核心业务场景,比如核心订单消息、支付消息,要求必须明确知道发送是否成功,发送失败需要立即回滚或重试,适合用同步发送;②异步发送:适合高并发、大吞吐量的非核心或准实时场景,比如业务日志收集、用户行为数据采集,允许少量失败自动重试,追求更高的吞吐量,适合用异步发送。(4分)五、综合应用题(1)Kafka适合解决上述两个场景的原因:第一个场景是微服务异步解耦削峰:①Kafka可以实现异步通信,订单服务支付完成后只需要把消息写入Kafka就可以返回响应给用户,不需要同步调用多个下游服务,大幅降低下单接口的响应时间,降低超时率;②Kafka可以实现削峰填谷,大促高峰期下单量突增,Kafka可以作为缓冲层存储大量请求,避免下游服务被突发流量打垮,保证系统整体稳定性;③Kafka原生支持高吞吐量,单集群每秒可以处理几十万甚至上百万条消息,完全可以支撑电商大促的峰值下单流量。(3分)第二个场景是实时日志收集:①Kafka支持高吞吐量的持久化消息存储,可以低成本存储每日上亿条行为日志,无需额外的存储层改造;②Kafka支持多消费者组订阅消费,大数据团队的实时计算框架Flink、SparkStreaming可以直接消费Kafka中的日志数据做实时分析,不需要额外的数据同步流程;③Kafka的多副本可靠性机制可以大幅降低日志丢包率,满足实时计算对数据完整性的要求,比原有基于HTTP的采集方案可靠性更高。(3分)(2)三个层面的设计配置方案:①生产者层面:配置acks=all,要求ISR中所有副本都写入成功才返回发送成功,避免Leader宕机导致消息丢失;开启生产者幂等性配置,避免重试导致的消息重复写入;发送失败后配置合理的重试次数,不要配置为0次,避免发送失败直接丢弃消息;如果涉及跨分区多个消息的原子写入需求,开启Kafka事务保证一致性。(2分)②Broker层面:创建Topic时配置至少2个副本,保证单Broker宕机后还有其他副本可以提供服务,不会丢失消息;保持默认配置unclean.leader.election.enable=false,禁止选择未同步的OSR副本作为Leader,避免消息丢失;根据业务需求配置合理的消息保留时间和保留容量,避免消息过期被误删除。(2分)③消费者层面:关闭自动提交位移,采用手动提交位移的方式,在消息消费成功、业务处理完成后再提交位移,避免消费失败位移提前提交导致消息丢失;消费逻辑实现幂等处理,即使出现少量重复消息,也不会产生脏数据影响业务正确性;合理控制每次拉取的最大消息数,避免一次拉取太多消息导致消费超时,最终位移未提交引发重复消费。(2分)(3)消费积压的常用解决方案(答出任意三种即可得满分):①增加消费者组的消费者数量,提升消费并发度,只要消费者总数小于等于Topi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级英语上册第五单元“影视娱乐”Section A综合复习与能力拓展教学设计
- XX建材建筑施工企业安全月活动总结
- 2025江苏二级建造师考试真题及答案《建设工程施工管理》
- 住宅楼构造柱施工方案
- 施工现场防护急救措施措施
- 工艺管道及阀门安装工程施工方案
- 食品药品安全知识竞赛试题及答案
- 冠心病护理查房(含并发症护理)
- 某工程管理文物保护制度
- 2026年苏教版高二第二学期化学期末核心考点精讲试卷(附答案可下载)
- 不得诋毁对方的协议书
- 2024年河南省鹿邑县人民医院公开招聘护理工作人员试题带答案详解
- 行星架铸造工艺设计【版本2】
- 第13课-他们都说我包的饺子好吃(口语)
- 无碳小车测试题及答案大全
- 2024年消防考试真题解析试题及答案
- 2025陕西烟草专卖局招聘42人易考易错模拟试题(共500题)试卷后附参考答案
- 车祸伤的救治与护理
- 离婚协议书模板标准电子版分享
- 2023年江苏省无锡市中考政治真题含解析
- 新理性主义完整版本
评论
0/150
提交评论