【Kafka面试演练】那Kafka消费者手动提交、自动提交有什么区别?

news2025/1/13 13:24:39

在这里插入图片描述

面试官:听说你精通Kafka,那我就考考你吧


面试官:不用慌尽管说,错了也没关系😊。。。


每日分享【大厂面试演练】,本期是《Kafka系列》,感兴趣就关注我吧❤️

面试官:你先说说Kafka由什么模块组成吧

嗯嗯好的。

主要有:生产者、消费者、Brocker、Topic、消息分区Partition


面试官思考中…


面试官:那我们先讲讲生产者、消费者?

嗯嗯好的。


面试官思考中…


面试官:消息生产者的异步回调,知道吧

Ok知道的。主要是可以进行异常日志的记录

是这样的,Kafka的异步提交消息相比同步提交,不需要在brocker响应前阻塞线程。

但是异步提交我们是不知道消费情况的,所以就可以在Kafka消费异常时,通过其回调来告知程序异常情况,从而进行日志记录。


面试官思考中…


面试官:消费者分区,可以介绍下吗

嗯嗯Ok。分区的作用主要就是为了提高Kafka处理消息吞吐量

每一个topic会被分为多个分区

假如同一个topic下有n个分区、n个消费者,每个分区会发送消息给对应的一个消费者,这样n个消费者就可以负载均衡地处理消息。

同时生产者会发送消息给不同分区,每个分区分给不同的brocker处理,让集群平坦压力,这样大大提高了Kafka的吞吐量。

在这里插入图片描述


面试官思考中…


面试官:你说说消费者手动提交和自动提交,有什么区别

其实就是两种不同的客户端提交方式。

  1. 自动提交的话,通过设置enable.auto.commit为true,每过5秒消费者客户端就会自动提交最大偏移量
  2. 手动提交的话,通过设置enable.auto.commit为false,让消费者客户端消费程序执行后提交当前的偏移量

面试官思考中…


面试官:那它们都有什么优、缺点吗

  1. 自动提交的话,比较方便只需要配置就可以,不过可能会导致消息丢失或重复消费。
    • 如果刚好到了5秒时提交了最大偏移量,此时正在消费中的消费者客户端崩溃了,就会导致消息丢失
    • 如果成功消费了,下一秒应该自动提交,但此时消费者客户端奔溃了提交不了,就会导致其他分区的消费者重复消费
  2. 手动提交的话,需要写程序手动提交,要分两种提交方式。
    • 手动提交是同步提交的话,在broker对请求做出回应之前,客户端会一直阻塞,这样的话限制应用程序的吞吐量
    • 异步提交的话,不会有吞吐量的问题。不过发送给broker偏移量之后,不会管broker有没有收到消息

在这里插入图片描述

面试官抓抓脑袋,继续看你的简历…


得想想考点你不懂的😰

未完待续。。。。。。

好了,今天的分享就先到这,我们下期【大厂面试演练】继续。

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1519615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cuda cudnn安装

安装 cudnn是否安装成功 注意 cudnn对应的cuda的10.0版本无win11版本 下载win10 即可

linux系统关闭防火墙和SELINUX及配置网络

一,关闭防火墙和SELINUX 当我们进入界面后,输入用户名root,以及密码,密码我们是看不见的 然后输入指令cat -n /etc/sysconfig/selinux (注意空格) 输入指令 vi /etc/sysconfig/selinux &#xf…

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大,性能最好,集群高可用。缺点:会丢数据,功能较单一。 二Ra…

第十五届蓝桥杯模拟考试III_物联网设计与开发官方代码分析

目录 前言:显示界面部分: 前言: 这次模拟的效果很不好。85分,4h的限时我花了两天完成,这个时间是远远超出要求的,而且最后还只拿到56分,抛开分数高低不提,就这个用时属实蜗牛一样的速…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试根据新危险化学品经营单位安全管理人员考试大纲要求,安全生产模拟考试一点通将危险化学品经营单位安全管理人员模拟考试试题进行汇编,组成一套危险化学品经…

安装nginx

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾…

2024/3/14打卡k倍区间(8届蓝桥杯)——前缀和+优化***

题目 给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N…

DeePhage:预测噬菌体的生活方式

GitHub - shufangwu/DeePhage: A tool for distinguish temperate phage-derived and virulent phage-derived sequence in metavirome data using deep learning 安装 conda create -n deephage conda activate deephage pip install numpy pip install h5py pip install ten…

淘宝联盟高级API - 超级搜索api接口, 淘宝联盟商品搜索接口

淘宝联盟商品库超级搜索api接口,支持搜索商品链接、商品id,商品标题搜索,还有更多强大搜索选项。 注意:接口默认只查【含有优惠券】的商品,如果需要精确搜索,请将 has_coupon 参数设置为 false 获取接口秘…

深入理解JMM

一、什么是JMM JMM(java memory model)Java内存模型:是java虚拟机规范中定义的一组规范,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让JAVA程序在各平台都能达到一致的并发结果。其主要规定了线程和内存之间的…

苍穹外卖问题记录(持续更新)

Day01_3.2.4前后端联调 1. 前端无法登录 (1)确保nginx服务器已经启动 (2)查看自己数据库的用户名和密码是否和老师的一样,不一样的话需要在application-dev.yml文件中把老师的用户名密码修改成自己的 老师的用户名…

面试常问,ADC,PWM

一 PWM介绍 pwm全名(Pulse Width Modulation):脉冲宽度调制 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。PWM一定程度上是数字到模拟…

植物神经功能紊乱患者每天从5片黛力新减少至2片,只因找对了治疗方法!

植物神经功能紊乱是一种常见的心理疾病,其症状包括焦虑、失眠、疲劳、头痛、胃肠不适等,给患者带来很大的困扰。然而,这种疾病是可以治疗的。本文将介绍一位植物神经功能紊乱患者的治疗经历,希望能够帮助更多的人了解和治疗此病。…

【机器学习300问】38、什么是K-means算法?

在实际工作中,我们经常会遇到这样一类问题:给机器输入大量的特征数据,并期望机器通过学习找出数据存在的某种共性特征、结构或关联。这类问题被称为“非监督学习”问题。这篇文章我就来聚焦非监督学习中的其中一个任务——聚类 例如在数字营销…

F-logic DataCube3 任意文件上传漏洞复现(CVE-2024-25832)

0x01 产品简介 F-logic DataCube3是一款用于光伏发电系统的紧凑型终端测量系统。 0x02 漏洞概述 F-logic DataCube3 /admin/setting_photo.php接口处存在任意文件上传漏洞 ,未经身份验证的攻击者可通过该漏洞在服务器端写入后门,获取服务器权限,进而控制整个web服务器。 …

【计算机视觉】二、图像形成:2、几何基元和几何变换:2D变换

文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)1. 各种变换的关系2. 变换公式3. 2D变换的层次4. python实现 一、向量和矩阵的基本运算 【计算机视觉】二、图像形成:1、向量和矩阵…

【研发日记】Matlab/Simulink技能解锁(五)——Simulink布线技巧

前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug》 见《【研发日记】Matlab/Simulink…

HarmonyOS ArkUI入门—HarmonyOS ArkUI来开发一个健康饮食应用

本文演示如果在DevEco Studio 3里面,用HarmonyOS的ArkUI来开发一个健康饮食应用。体验HarmonyOS 3最新API 9! 获取HarmonyOS应用 HarmonyOS的ArkUI来开发一个健康饮食的ArkUI程序“ArkUIHealthyDiet”,基础代码已经有了[1],个人…

DHCP-SNOOPING-嗅探/窥探

DHCP-SNOOPING 私接设备了,非终端收到了报文 所有接口设置为非信任,然后单独配置其中一个接口为信任

《ARM汇编与逆向工程 蓝狐卷 基础知识》

推荐一本专注于Arm逆向分析技术的好书《ARM汇编与逆向工程 蓝狐卷 基础知识》,3月21日将在点赞者中抽取粉丝进行本书包邮免费赠送。 目录 正文内容简介作者简介译者简介目录了解更多 正文 与传统的CISC(Complex Instruction Set Computer,复…