Kafka的ack机制

作者: 鸿雁长飞鱼龙潜跃 | 来源:发表于2019-05-14 10:02 被阅读22次

简述kafka的ack机制

Kafka的ack机制,指的是producer的消息发送确认机制,这直接影响到Kafka集群的吞吐量和消息可靠性。而吞吐量和可靠性就像硬币的两面,两者不可兼得,只能平衡。

ack有3个可选值,分别是1,0,-1。

ack=1,简单来说就是,producer只要收到一个分区副本成功写入的通知就认为推送消息成功了。这里有一个地方需要注意,这个副本必须是leader副本。只有leader副本成功写入了,producer才会认为消息发送成功。

注意,ack的默认值就是1。这个默认值其实就是吞吐量与可靠性的一个折中方案。生产上我们可以根据实际情况进行调整,比如如果你要追求高吞吐量,那么就要放弃可靠性。

ack=0,简单来说就是,producer发送一次就不再发送了,不管是否发送成功。

ack=-1,简单来说就是,producer只有收到分区内所有副本的成功写入的通知才认为推送消息成功了。

Kafka的ack机制

接下来我们分析一下ack=1的情况下,为什么消息也会丢失?

ack=1的情况下,producer只要收到分区leader成功写入的通知就会认为消息发送成功了。如果leader成功写入后,还没来得及把数据同步到follower节点就挂了,这时候消息就丢失了。

相关文章

  • Kafka的ack机制

    简述kafka的ack机制 Kafka的ack机制,指的是producer的消息发送确认机制,这直接影响到Kafk...

  • 消息中间件如何保证消息可靠性

    Kafka producer端 ack机制 ack=0 发送端不感应broker是否接收成功 ack=1 消息发送...

  • Kafka 概念及原理深度分析

    中间件:Kafka关键字:Kafka文件机制,Kafka分区,Kafka数据可靠性,Kafka Ack等注:本文是...

  • Kafka的ack机制

    ack=0/1/-1的不同情况:0:producer不等待broker的ack,broker一接收到还没有写入磁盘...

  • 队列服务

    队列服务的ACK机制 Kafka自动提交偏移量(每隔5s提交一次)主动提交偏移量 Rabbitmq默认支持ACK没...

  • Kafka Producer可靠性浅析

    本文主要介绍kafka producer的可靠性,包括ack、batch、重试机制等 消息发布 KafkaPr...

  • IMI每日一概念IACK机制

    介绍 ACK(Acknowledgement)机制,即确认机制。在即时通讯开发领域,ACK机制是为了应对复杂多变的...

  • Ack机制

    1、ack是什么 ack 机制是storm整个技术体系中非常闪亮的一个创新点。 通过Ack机制,spout发送出去...

  • Kafka生产者ack机制剖析

    Kafka有两个很重要的配置参数,acks与min.insync.replicas.其中acks是producer...

  • ack机制

    每个Consumer可能需要一段时间才能处理完收到的数据。如果在这个过程中,Consumer出错了,异常退出了,而...

网友评论

    本文标题:Kafka的ack机制

    本文链接:https://www.haomeiwen.com/subject/cbmjaqtx.html