Apache kafka min.insync.replica配置是否影响Kafka生产者吞吐量?

Apache kafka min.insync.replica配置是否影响Kafka生产者吞吐量?,apache-kafka,performance-testing,throughput,Apache Kafka,Performance Testing,Throughput,来自卡夫卡文献 当生产者将ACK设置为“全部”(或“-1”)时,此min.insync.replica配置 指定必须确认写入的最小副本数 使写入被认为是成功的 它表示,当同步副本的最小数量确认时,写入成功,但当我使用min.insync.replica作为1和3运行性能测试时(对于5代理设置中的分区=1和R.F=5的主题),使用acks='all'的kafka producer的性能是相同的 因此,每个主题的min.insync.replica配置是否会影响Kafka producer吞吐量(独

来自卡夫卡文献

当生产者将ACK设置为“全部”(或“-1”)时,此min.insync.replica配置 指定必须确认写入的最小副本数 使写入被认为是成功的

它表示,当同步副本的最小数量确认时,写入成功,但当我使用
min.insync.replica
作为1和3运行性能测试时(对于5代理设置中的分区=1和R.F=5的主题),使用
acks='all'
的kafka producer的性能是相同的


因此,每个主题的
min.insync.replica
配置是否会影响Kafka producer吞吐量(独立运行)和
acks=“all”

min.insync.replica
是必须确认成功接收数据才能成功写入的最小副本数


如果将
min.insync.replica
设置为3和
acks=all
,吞吐量肯定会受到影响,但如果将
acks=0或
1
设置为0,吞吐量不会受到影响,但在执行此操作时,如果引导程序失败,则可能会丢失数据。

如果使用
acks='all'
,在发送回确认或错误之前,领导者会等待同步副本收到消息,因此性能会受到影响。在
min.insync.replica=1
的情况下,一旦消息被写入到leader,生产者就会得到一个响应。它应该比使用<代码> min .nSyc.Prime= 3 更快,因为在这种情况下,生产者等待2个副本才能获得所有消息,然后才能将消息视为提交。
您的结果意味着您的代理之间的延迟非常低。我相信如果您在不同的数据中心/地区启动代理,您应该会看到差异。

如果您没有设置
acks='all'
min.insync.replica
>1请注意,您有数据丢失的风险。如果前导节点下降,则表示无法保证复制的节点是前导节点的副本。这实际上是卡夫卡作为分布式系统防止此类情况的主要思想。

它显著影响吞吐量。