ACK = 0:生产者发送完数据,不用考虑数据是否已到达kafka服务器,然后紧接着就发下一条数据,这样,效率会非常高。但是存在一个问题:数据的丢失可能性比较大。

ACK = 1:生产者发送数据,是需要等待leader的应答,如果应答完成,才能发送下一条message,是不关心follower是否pull完成,是否接收成功的。这样,虽说性能会慢些,但是数据会比较安全。可但是,在leader保存完数据后,突然leader所在的broker down掉了,此时的follower还没来得及从leader那儿pull数据,那么这个数据就会丢失。

ACK = -1:可以理解为最耗时的选项。当生产者发送数据后,需要等待所有的副本的应答,包括leader+follower,这种方式是最安全的,但同时也是性能最差的。

总结简化这三种情况:

  1. ACK = 0:只发一次数据,不管leader是否接收成功
  2. ACK = 1:只要等待leader接收完成即可(如果没有配置ack机制,则默认为1)
  3. ACK = -1:需要等待leader将消息同步给所有的follower即可

(备注:当follower从leader那里pull数据后,会写入到本地的分段日志log中,同时也会返回给leader一个ACK标志)

有帮到你的点赞、收藏一下吧

需要更多教程,微信扫码即可

kafka生产数据时的应答机制(ACK)相关推荐

  1. Kafka 生产者数据安全(ACK机制,ACK时机,ACK应答机制,故障处理,Exactly Once)

    目录 生产者数据安全 一.数据分区 图解 分区原因 分区原则 二.数据可靠性保证 ACK机制 ACK时机 ACK应答机制 故障处理 Exactly Once 语义 生产者数据安全 一.数据分区 图解 ...

  2. Kafka Ack应答机制理解

    背景 最近李哥做了kafka的调研,我看了他做的kafka与rabbitmq的对比与性能分析,打算深入了解一下kafka的ack应答机制 1.kafka基础大家可自行学习 2.这里我直接分析下ack应 ...

  3. CAN总线-ACK应答机制分析

    1:应答场定义 应答场长度为 2 个位,包含应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER).在应答场里,发送站发送两个"隐性"位.当接收器正确地接收到有效的 ...

  4. TCP协议可靠性保证(确认应答机制,超时重传机制,流量控制,拥塞窗口)

    上一次我们知道了TCP协议通过连接管理机制保证可靠性,今天我们继续来看一看TCP协议中其他几种保证可靠性的方法. · 确认应答机制  · 超时重传机制  · 流量控制  · 拥塞窗口 确认应答机制  ...

  5. 以太网 TCP协议交互过程中出现丢包时的解决机制,超时重传、快速重传、SACK与DSACK

    2.7.3 以太网 TCP协议(TCP交互过程中出现丢包时的解决机制-列举部分) 参考:CSDN_TCP的重传机制_博主.Pr Young,对描述进行了整理与结合个人的理解进行编写. 一.超时重传机制 ...

  6. KafKa - 分区副本ISR选举机制

    一.KafKa分区副本ISR选举机制 kafka 中每一个主题又进一步划分成若干个分区.副本的概念实际上是在分区层级下定义的,每个分区配置有多若干个副本. 所谓的副本,本质上就是一个只能追加写消息的提 ...

  7. Kafka工作原理-数据写入、ACK、查询、消费原理

    为什么需要消息队列 周末无聊刷着手机,某宝网APP突然蹦出来一条消息"为了回馈老客户,女朋友买一送一,活动仅限今天!".买一送一还有这种好事,那我可不能错过!忍不住立马点了去.于是 ...

  8. 确认应答机制超时重传机制序列号延迟应答捎带应答

    序列号 一.什么是序列号? TCP会对每个字节的数据都进行编号,数据的编号就是数据的序列号,每个字节都有自己独一无二的编号,故序列号具有唯一性 二.序列号的作用? 接收端为了区别重复的报文段(报文段也 ...

  9. RabbitMQ手动应答机制-案例代码梳理

    目录 消息应答 1.概念 2.自动应答 3.手动应答 4.手动批量应答(Multiple) 5.消息自动重新入队 6.手动应答代码实现 7.源码地址 消息应答 参考代码:https://gitee.c ...

最新文章

  1. Windows DOS窗口查看历史执行过的命令的三种方式
  2. python基础知识-11-函数装饰器
  3. linux文件传输常用方法
  4. vb6编写用户权限_仅需三行代码,即可让Apache Shiro接管Swagger权限认证
  5. vim 树形目录插件NERDTree安装及简单用法
  6. 【物联网】 AR9344开发环境的搭建和编译固件
  7. java 分布式编程,Java的并行、并发和分布式编程
  8. 需求分析之UML用例图学习
  9. 阐述HTML语言的基本语法规则,HTML基本语法和语义写法规则与实例
  10. MAC下MySQL启动不了怎么办?
  11. 进制转换工具类-JAVA
  12. soyun是php么,40个迹象表明你还是PHP菜鸟
  13. DP(递归打印路径) UVA 662 Fast Food
  14. 手机app测试流程和要点
  15. matlab中怎么看电压和电流值,matlab计算电压有效值
  16. android图片添加文字,Android给图片加文字和图片水印
  17. BlueCoat被私募股权公司收购
  18. 云计算在互联网发展史中的坐标
  19. 聊一聊我们应该如何有效学习
  20. Ax=0的非零解/马尔可夫链的平稳分布

热门文章

  1. 小米6钉子户们的胜利!复刻机可能要来了,目前已在工程验证阶段
  2. GoPro 8及旗下首款360全景运动摄像机HERO Max将发售
  3. 手慢无!小米5G手机已抢光
  4. iPhone11翻车了?发烫严重、信号依旧差...
  5. 小米又给员工发福利了! 逾3亿港元457人分
  6. 又一款5G手机获进网许可 开售在即 你会尝鲜吗?
  7. 亚马逊创始人贝佐斯离婚协议本周生效 前妻分得380亿美金
  8. UltraEdit的高亮【原创】
  9. 去大公司和小公司实习对比
  10. c语言读取excel表格_利用pandas处理excel表格