首页 > 其他分享 >《面试1v1》Kafka的ack机制

《面试1v1》Kafka的ack机制

时间:2023-08-07 23:35:32浏览次数:41  
标签:面试官 ack 确认 Kafka 消息 机制 1v1


面试官: 嗨,小王!听说你对Kafka的ack机制很感兴趣,是吗?

候选人: 是的,王哥!我一直想了解一下Kafka的ack机制是怎么回事。

面试官: 好问题!那么,你知道Kafka的ack机制是用来做什么的吗?

候选人: 嗯,我知道它是用来确保消息的可靠性传递的。但是具体怎么实现的呢?

面试官: 很好!简单来说,Kafka的ack机制是通过生产者和消费者之间的协作来实现的。当生产者发送消息到Kafka集群时,它可以选择等待消息被确认(ack)后再发送下一条消息,或者直接发送下一条消息而不等待确认。

候选人: 那么,等待确认和不等待确认有什么区别呢?

面试官: 哈哈,这就像是你在餐厅点菜的时候的两种方式。如果你等待服务员确认你的点菜后再点下一道菜,那么你可以确保每道菜都被正确记录下来。但是如果你不等待确认,直接点下一道菜,那么可能会出现点菜遗漏的情况。

候选人: 哦,我明白了!那么,Kafka是如何实现这个机制的呢?

面试官: 很聪明的问题!在Kafka中,生产者发送消息时,可以设置消息的确认级别(ack level)。有三个级别可供选择:0、1和all。当设置为0时,生产者不会等待任何确认,直接发送下一条消息。当设置为1时,生产者会等待消息被Kafka集群的leader确认后再发送下一条消息。而当设置为all时,生产者会等待消息被所有的副本(replica)确认后再发送下一条消息。

候选人: 哇,这么灵活!那么,如果消息没有被确认怎么办?

面试官: 如果消息没有被确认,Kafka会自动进行重试,直到达到最大重试次数。如果仍然没有成功,那么生产者可以选择放弃发送或者采取其他措施,比如记录日志或者通知管理员。

候选人: 哦,原来如此!那么,这个机制对于我在实际工作中有什么帮助呢?

面试官: 嗯,这个机制可以确保你的消息在传递过程中不会丢失。尤其是在一些对消息可靠性要求较高的场景下,比如金融交易或者实时监控系统,这个机制非常重要。

候选人: 大师傅,谢谢你的解答!我对Kafka的ack机制有了更清晰的理解了。

面试官: 不客气,小明!记住,Kafka的ack机制是确保消息可靠性的关键。在你的工作中,要根据实际需求选择合适的确认级别,并且合理处理未确认的消息。

最近我在更新《面试1v1》系列文章,主要以场景化的方式,讲解我们在面试中遇到的问题,致力于让每一位工程师拿到自己心仪的offer,感兴趣可以关注JavaPub追更!

《面试1v1》Kafka的ack机制_发送消息



标签:面试官,ack,确认,Kafka,消息,机制,1v1
From: https://blog.51cto.com/wangshiyu/6999997

相关文章

  • 《面试1v1》ElasticSearch基础
    面试官:嗨,欢迎来到我们的面试!今天我们要聊一聊ElasticSearch基础知识。你对ElasticSearch有了解吗?候选人:当然!ElasticSearch是一个开源的分布式搜索和分析引擎,它可以帮助我们快速地存储、搜索和分析海量数据。简单来说,就是个大数据的搜索神器!面试官:哈哈,没错!那你能给我解释一下Elas......
  • 《面试1v1》Kafka与传统消息系统区别
    我是javapub,一名Markdown程序员从......
  • webpack学习
    目录1.Webpack的作用?2.Node中的CommonJS规范3.包管理工具-NPM4.Node的工具集-path/url/util/zlib5.Node的文件操作能力-fs6.Node的缓冲(Buffer)和流(stream)7.Node的事件机制-EventEmitter8.Node的HTTP处理-请求与响应9.Node的事件循环-EventLoop10.Node的进程集群-Cluster1.Webpack......
  • TextAttack的使用功能
    一、背景TextAttack是弗吉尼亚大学和MIT开发的一个关于快速实现文本对抗攻击的一个工具包。国内有一个清华开发的工具OpenAttack。但是目前比较活跃的是TextAttack,写这篇博客的时候,TextAttack还做了更新。二、安装TextAttack发行了PyPI的包,直接通过下面的指令安装,要求是Python......
  • kafka集群监控EFAK搭建
    源码包准备   1.上传包      exportKE_HOME=/home/secure/prom/kafka-eagle-bin-3.0.1/efak-web-3.0.1   exportPATH=$PATH:$KE_HOME/bin   source/etc/profile   2.安装mysql     EFAK配置修改         1.修......
  • kafka 入门最佳实践
    认识kafkakafka简介Kafka是一个分布式流媒体平台,kafka官网:http://kafka.apache.org/(1)流媒体平台有三个关键功能:发布和订阅记录流,类似于消息队列或企业消息传递系统。以容错的持久方式存储记录流。记录发生时处理流。(2)Kafka通常用于两大类应用:构建可在系统或应用程序之......
  • Windows11使用docker desktop安装kafka&zookeeper集群
    docker-compose安装zookeeper集群参考文章:http://t.csdn.cn/TtTYIhttps://blog.csdn.net/u010416101/article/details/122803105?spm=1001.2014.3001.5501准备工作:​ 在开始新建集群之前,新建好文件夹,用来挂载kafka、zookeeper数据,如下:zookeeper文件夹D:\soft\docker\zookee......
  • Zookeeper 集群 + Kafka 集群
    目录一、Zookeeper概述1.Zookeeper定义2.Zookeeper工作机制3.Zookeeper特点4.Zookeeper数据结构5.Zookeeper应用场景6.Zookeeper选举机制(1)第一次启动选举机制(2)非第一次启动选举机制二、部署Zookeeper集群一、Zookeeper概述1.Zookeeper定义Zookeeper是一个开......
  • Kafka集群
    Kafka集群使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。目录1.Kafka概述2.消息队列好处3.消息队列的模式4.Kafka的特性5.Kafka系统架构6.部署kafka集群7.总结     1.Kafka概述1.消息......
  • kafka_demo
    参考:概念:https://zhuanlan.zhihu.com/p/74063251代码运用:https://zhuanlan.zhihu.com/p/114209326 参考 kafka在windows平台的搭建和简单实用_一代键客的博客-CSDN博客,先验证本地是否能使用kafka成功生产消费消息,如果因为版本问题遇到报错“bootstrap-serverisnotarec......