【问题标题】:What is the maximum replication factor for a partition of kafka topickafka主题分区的最大复制因子是多少
【发布时间】:2020-03-07 10:37:41
【问题描述】:

我有 3 个代理和几个主题的 kafka 集群,每个主题有 5 个分区。现在我想为分区设置复制因子。

我可以为 kafka 主题的分区设置的最大复制因子是多少?

【问题讨论】:

    标签: apache-kafka replication partitioning kafka-topic


    【解决方案1】:

    复制因子决定了每个分区的复制数量,这允许 Kafka 自动故障转移到这些副本 当集群中的服务器发生故障时,消息仍然可用 万一发生故障

    分区副本分布在代理之间,一个代理应该保留一个副本,这意味着我们的副本不能超过代理的数量

    最大复制因子

    这也意味着确定 min.insync.replicas,这意味着它总是小于或等于复制因子

    min.insync.replicas 表示

    min.insync.replicas 是您愿意随时在线以继续运行的最小数据副本数 并接受新的传入消息。

    理想的复制因子 3 如上所述,但是,根据用例,您可以将复制因子调整为小于 2(意味着高风险),同时大于 3 提供更好的可用性但需要更多的开销和更大的尺寸。

    在决定复制因子时,还要考虑以下几点:

    A):代理大小复制因素直接影响整体代理磁盘大小

    所以高复制因子需要更大的磁盘大小

    B)大量分区复制:在大量分区复制的情况下,会增加额外的延迟。

    【讨论】:

      【解决方案2】:

      一个代理只能为一个分区托管一个副本。

      因此,如果您的集群有 3 个代理,那么您可以拥有的最大复制因子是 3。

      虽然理论上可以设置具有非常大的复制因子的主题,但实际上将其设置在 4 以上几乎没有任何好处。副本习惯于高可用性和持久性,并且基本上决定了您可以在丢失之前离线多少个代理任何数据。如果您有 3 个副本,则所有 3 个代理不太可能同时崩溃/失败。

      【讨论】:

        猜你喜欢
        • 2020-05-30
        • 2020-03-07
        • 2021-02-07
        • 2020-04-29
        • 1970-01-01
        • 2018-07-22
        • 2017-08-06
        • 2018-01-11
        • 2020-06-22
        相关资源
        最近更新 更多