3.12. unclean leader 选举机制

对 in-sync 副本的领导选举被视为干净,因为它保证不会丢失数据。这是默认情况。但是,如果没有同步副本来接管领导,情况会怎样?当领导的磁盘被禁止时,ISR (同步副本)只会包括领导。如果没有设置最小同步副本数,且其硬盘失败时没有跟随与分区领导同步,则数据已经丢失。不仅如此,新的领导产品也无法被选举,因为没有同步的跟随者。

您可以配置 Kafka 如何处理领导失败:

# ...
unclean.leader.election.enable=false
# ...

在默认情况下,未清除的领导选举机制被禁用,这意味着不同步的副本不能成为领导。对于干净的领导选举机制,如果在旧的领导丢失时,如果其他代理没有 ISR,则 Kafka 会等待到领导重新在线,然后才能写入或读取信息。Unclean leader 选举意味着不同步副本可能会成为领导,但可能会丢失消息。您做出的选择取决于您的要求是否首选使用可用性还是持久性。

您可以在主题级别覆盖特定主题的默认配置。如果无法负担数据丢失的风险,请保留默认配置。