Kafka主题分区的最大复制因子是多少

yshpjwxd  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(608)

我有一个kafka集群,有3个代理和几个主题,每个主题有5个分区。现在我想为分区设置复制因子。
我能为Kafka主题的分区设置的最大复制因子是多少?

niknxzdl

niknxzdl1#

复制因子决定了每个分区拥有的复制数,这允许kafka在集群中的服务器发生故障时自动故障切换到这些复制,以便在发生故障时消息仍然可用
分区副本分布在代理之间,一个代理应该保留一个副本,这意味着我们不能拥有超过代理数量的副本
最大复制因子<=代理数。
这也意味着要确定min.insync.replicas,这意味着它将始终小于或等于复制因子
min.insync.replicas表示<=复制因子
min.insync.replicas是您愿意随时联机以继续运行和接受新传入邮件的数据的最小副本数。
理想情况下,复制因子3是很好的,如上所述,但是,根据用例,您可以将复制因子调整为小于2(意味着高风险),同时大于3可以提供更好的可用性,但需要更多的开销和更大的大小。
在决定复制系数时,还应考虑以下几点:
a) :代理大小复制因子直接影响整个代理磁盘大小
因此,高复制系数需要更大的磁盘大小
b) 大量分区复制:在大量分区复制的情况下,会增加额外的延迟。

g0czyy6m

g0czyy6m2#

代理只能承载分区的单个副本。
因此,如果您的集群有3个代理,那么您可以拥有的最大复制因子是3。
虽然在理论上可以用一个非常大的复制因子来设置一个主题,但在实践中,将它设置在4以上几乎没有任何好处。副本用于实现高可用性和持久性,基本上决定了在丢失任何数据之前可以脱机的代理数。如果您有3个副本,则不太可能所有3个代理同时崩溃/失败。

相关问题