3.12. 取消清除领导选举机制
对同步副本的领导选举被视为干净,因为它保证不会丢失数据。这是默认的情况。但是,如果没有内部同步副本来开展领导?或许,ISR (同步副本)仅在领导磁盘中断时才会包含领导机。如果没有设置最少的 in-sync 副本,当硬盘驱动器出现故障时,没有遵循者与分区领导设备同步,则数据已经丢失。不仅如此,新的领导产品也无法被选举,因为没有同步的跟随者。
您可以配置 Kafka 如何处理领导失败:
# ...
unclean.leader.election.enable=false
# ...
默认情况下不干净的领导选举机制被禁用,这意味着内存不足的副本无法成为领导者。使用干净的领导选举机制时,如果没有其他代理在 ISR 中丢失,则 Kafka 会等待领导人恢复在线,然后才能写入或读取消息。取消清除领导选举意味着不同步的副本可能会成为领导机,但您将面临丢失消息的风险。您做出的选项取决于您的要求是否偏离可用性。
您可以在主题级别上覆盖特定主题的默认配置。如果您无法承担数据丢失的风险,那么请保留默认配置。