kafka主题分区的最大复制因子是多少
What is the maximum replication factor for a partition of kafka topic
我有 kafka 集群,有 3 个代理和几个主题,每个主题有 5 个分区。现在我想为分区设置复制因子。
我可以为kafka主题分区设置的最大复制因子是多少?
一个代理只能为一个分区托管一个副本。
因此,如果您的集群有 3 个代理,则您可以拥有的最大复制因子是 3。
虽然理论上可以设置一个具有非常大复制因子的主题,但实际上将其设置为 4 以上几乎没有任何好处。副本用于高可用性和持久性,基本上决定了可以离线的代理数量在丢失任何数据之前。如果您有 3 个副本,则 3 个代理不太可能同时 crash/fail。
Replication factor determines the number of replications each partition have, this allows Kafka to automatically failover to these replicas
when a server in the cluster fails so that messages remain available
in case of failures
分区副本分布在代理之间,一个代理应该保留一个副本,这意味着我们不能拥有比代理数量更多的副本
最大复制因子 <= 经纪人数量。
这也是为了确定min.insync.replicas,也就是说它总是小于或等于replication-factor
min.insync.replicas 表示 <= 复制因子
min.insync.replicas is the minimum number of copies of the data that you are willing to be online at any time to continue running
and accepting new incoming messages.
理想情况下,复制因子 3 如上所述,但是,根据用例,您可以将复制因子调整为小于 2(意味着高风险),同时调整更多比 3 提供更好的可用性,但需要更多的开销和更大的大小。
在决定复制因子时还要考虑以下几点:
A): Broker Size 复制因子直接影响整体 Broker 磁盘大小
所以高复制因子需要更大的磁盘空间
B)大量分区复制:如果有大量分区复制,则会增加额外的延迟。
我有 kafka 集群,有 3 个代理和几个主题,每个主题有 5 个分区。现在我想为分区设置复制因子。
我可以为kafka主题分区设置的最大复制因子是多少?
一个代理只能为一个分区托管一个副本。
因此,如果您的集群有 3 个代理,则您可以拥有的最大复制因子是 3。
虽然理论上可以设置一个具有非常大复制因子的主题,但实际上将其设置为 4 以上几乎没有任何好处。副本用于高可用性和持久性,基本上决定了可以离线的代理数量在丢失任何数据之前。如果您有 3 个副本,则 3 个代理不太可能同时 crash/fail。
Replication factor determines the number of replications each partition have, this allows Kafka to automatically failover to these replicas when a server in the cluster fails so that messages remain available in case of failures
分区副本分布在代理之间,一个代理应该保留一个副本,这意味着我们不能拥有比代理数量更多的副本
最大复制因子 <= 经纪人数量。
这也是为了确定min.insync.replicas,也就是说它总是小于或等于replication-factor
min.insync.replicas 表示 <= 复制因子
min.insync.replicas is the minimum number of copies of the data that you are willing to be online at any time to continue running and accepting new incoming messages.
理想情况下,复制因子 3 如上所述,但是,根据用例,您可以将复制因子调整为小于 2(意味着高风险),同时调整更多比 3 提供更好的可用性,但需要更多的开销和更大的大小。
在决定复制因子时还要考虑以下几点:
A): Broker Size 复制因子直接影响整体 Broker 磁盘大小
所以高复制因子需要更大的磁盘空间
B)大量分区复制:如果有大量分区复制,则会增加额外的延迟。