首页 > 解决方案 > 我可以为 replication.factor 和 min.insync.replicas 设置相同的编号吗?

问题描述

我正在尝试了解代理配置 - min.insync.replicas,这是我的问题。

问题 1:如果我设置我的 replication.factor = 2 和 min.insync.replicas =2,我的消息会有多少份?

问题 2:我可以设置 replication.factor = 2 和 min.insync.replicas =2 吗?

标签: apache-kafka

解决方案


问题 1:如果我设置我的replication.factor = 2and min.insync.replicas = 2,我的信息会有多少份?

主题中数据的副本(副本)取决于配置replication.factor。如果将其设置为 2,您将拥有 2 个副本。

问题2:我可以设置replication.factor = 2min.insync.replicas = 2吗?

是的,您可以将这两个值都设置为 2。min.insync.replicas应该小于或等于 replication.factor。但是,在min.insync.replicas为主题生成数据时,配置起着更重要的作用。当生产者将ack设置为“all”(或“-1”)时,此配置指定必须确认写入才能被视为成功的最小副本数。如果无法满足此最小值,则生产者将引发异常(NotEnoughReplicasNotEnoughReplicasAfterAppend)。

这些配置的完整详细信息在 Kafka 文档的主题级别配置部分中给出。


推荐阅读