apache kafka配置中request.required.acks含义

Posted 互联网后端架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache kafka配置中request.required.acks含义相关的知识,希望对你有一定的参考价值。

Kafka producer的ack有3中机制,初始化producer时的producerconfig可以通过配置request.required.acks不同的值来实现。

0:这意味着生产者producer不等待来自broker同步完成的确认继续发送下一条(批)消息。此选项提供最低的延迟但最弱的耐久性保证(当服务器发生故障时某些数据会丢失,如leader已死,但producer并不知情,发出去的信息broker就收不到)。

1:这意味着producer在leader已成功收到的数据并得到确认后发送下一条message。此选项提供了更好的耐久性为客户等待服务器确认请求成功(被写入死亡leader但尚未复制将失去了唯一的消息)。

-1:这意味着producer在follower副本确认接收到数据后才算一次发送完成。 
此选项提供最好的耐久性,我们保证没有信息将丢失,只要至少一个同步副本保持存活。

三种机制,性能依次递减 (producer吞吐量降低),数据健壮性则依次递增。

以上是关于apache kafka配置中request.required.acks含义的主要内容,如果未能解决你的问题,请参考以下文章

是否可以配置KafkaConsumer(apache.kafka.kafka-clients)以通过代理与Kafka经纪人一起使用?

Apache NiFi之Kafka流数据到HBase

JMeter进行Apache Kafka负载测试

Apache Kafka 删除 Apache ZooKeeper 的依赖

kafka安装及配置

Kafka安装配置