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

bttbmeg0  于 2021-06-06  发布在  Kafka
关注(0)|答案(2)|浏览(352)

Kafka文献
当生产者将acks设置为“all”(或“-1”)时,此min.insync.replica配置指定必须确认写入的副本的最小数目,这样才能认为写入成功。
它表示当同步副本的最小数量确认时,写入成功,但当我使用运行性能测试时 min.insync.replica 作为1和3(对于5代理设置中的partition=1和r.f=5的主题),kafka producer的性能 acks='all' ,是相同的。
那么,你呢 min.insync.replica 每个主题的配置会影响kafka生产者的吞吐量(以隔离方式运行) acks="all" ?

jgzswidk

jgzswidk1#

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

zsohkypk

zsohkypk2#

min.insync.replica 必须确认数据已成功接收才能成功写入的最小副本数。
如果设置 min.insync.replica 到3和 acks=all 但如果你设置 acks=0 或者 1 ,但这样做时,如果引线失败,则可能会丢失数据。

相关问题