一、前言

acks参数指定了必须要有多少个分区副本收到消息,生产者才认为该消息是写入成功的,这个参数对于消息是否丢失起着重要作用,该参数的配置具体如下:

二、ack = 0

acks=0,表示生产者在成功写入消息之前不会等待任何来自服务器的响应. 换句话说,一旦出现了问题导致服务器没有收到消息,那么生产者就无从得知,消息也就丢失了. 改配置由于不需要等到服务器的响应,所以可以以网络支持的最大速度发送消息,从而达到很高的吞吐量。

二、ack = 1

acks=1,表示只要集群的leader分区副本接收到了消息,就会向生产者发送一个成功响应的ack,此时生产者接收到ack之后就可以认为该消息是写入成功的. 一旦消息无法写入leader分区副本(比如网络原因、leader节点崩溃),生产者会收到一个错误响应,当生产者接收到该错误响应之后,为了避免数据丢失,会重新发送数据.这种方式的吞吐量取决于使用的是异步发送还是同步发送。

三、ack = -1 (all)

acks =all,表示只有所有参与复制的节点(ISR列表的副本)全部收到消息时,生产者才会接收到来自服务器的

kafka 的 ack机制相关推荐

  1. Kafka的ack机制

    文章目Kafka的ack机制录 前言 一.ACK的三个可选值 1.ACK = 1 (默认) 2.ACK = 0 3.ACK = -1 前言 Kafka的ACK机制,指的是producer的消息发送确认 ...

  2. kafka之ack机制

    ack概述 kafka的ack机制,指的是producer的消息发送确认机制,在不同的场景可以灵活的选择ack机制来配合业务,不同的ack设置对kafka集群的吞吐量和消息可靠性也会有影响. ack有 ...

  3. 【Kafka】Kafka 实现 Exactly-once (ack机制、高水位)

    文章目录 1.概述 2. ACK机制 2. HW 2.1 案例 2.1.1 第一回合 2.1.1 第2回合 2.1.3 第3回合 2.1.4 第4回合 4.exactly-once 5.事务 1.概述 ...

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

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

  5. 用redis实现消息队列(实时消费+ack机制)【转】

    用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入. MQ主要是用来: 解耦应用. 异步化消息 流量削峰填谷 目前使用的较多的有A ...

  6. Kafka整体结构图、Consumer与topic关系、Kafka消息分发、Consumer的负载均衡、Kafka文件存储机制、Kafka partition segment等(来自学习资料)

    ##1. Kafka整体结构图 Kafka名词解释和工作方式  Producer : 消息生产者,就是向kafka broker发消息的客户端.  Consumer : 消息消费者,向kafka ...

  7. kafkaspot在ack机制下如何保证内存不溢

    storm框架中的kafkaspout类实现的是BaseRichSpout,它里面已经重写了fail和ack方法,所以我们的bolt必须实现ack机制,就可以保证消息的重新发送:如果不实现ack机制, ...

  8. Storm的ack机制在项目应用中的坑

    正在学习storm的大兄弟们,我又来传道授业解惑了,是不是觉得自己会用ack了.好吧,那就让我开始啪啪打你们脸吧. 先说一下ACK机制: 为了保证数据能正确的被处理, 对于spout产生的每一个tup ...

  9. kafka消息确认机制

    前言 ACK机制是所有消息中间件必备的特新,kafka也不例外,ACK机制可以提醒使用者消息是否成功发送到broker 我们知道,kafka的一个topic中,具体负责处理消息的是分区,一个分区可能存 ...

最新文章

  1. Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
  2. 设计模式:单例模式之饿汉式
  3. 利用全局数据实现数据通信
  4. Vim 的高级用法配置
  5. Vue 单文件元件 — vTabs
  6. yjv是电缆还是电线_VV是什么电缆?与YJV电缆有何区别?
  7. ubuntu系统安装vscode教程
  8. docker镜像为什么要采用分层结构
  9. android系统的发展态势,2020年安卓手机发展的7个趋势,只有延伸,并无革命性的变化...
  10. C++中vector章节iterator与const_iterator及const iterator区别
  11. jQuery Portamento 滑动定位
  12. Linux开机启动过程(8):初期中断(缺页中断)和异常处理
  13. 用科学计算机log21 p x,山东理工大学数据结构期末 试题及答案
  14. Android学习笔记---08_短信发送器的制作
  15. NOIP模拟测试25
  16. html背景图平移显示一次,js实现单张图片平移切换效果
  17. linux gdb 寄存器,x86 调试寄存器
  18. 大学生创新项目管理系统
  19. 我的大学之路---《大学之路》读后感
  20. 区间异或和——DongDong破密码

热门文章

  1. 网站被攻击怎么处理,快速解决方法
  2. 网站被攻击如何解决 通过日志查找攻击特征
  3. 用cooledit消除制作伴唱音乐
  4. Texlive not found article.cls的问题
  5. 如何做好网站优化,seo小白必看
  6. 【iOS】使用NSURLSession网络请求
  7. java mfcc_语音特征提取技术——MFCC
  8. 可变悬挂与空气悬挂的区别_可变悬架与空气悬架的区别
  9. P3P协议(Platform for Privacy Preferences)
  10. Trie (字典树,前缀树)