• Kafka中leader选举机制unclean.leader.election.enable作用


    1、leader选举机制,就是从副本队列中选择一个副本作为leader。这里需要理解两个概念,一个是副本队列(ISR)这个队列是一个动态队列

      对于这个队列,它的特点是,队列中的follower的offset和leader中offset值是一样的(LEO),也就是完全同步。ISR中包括leader和follower,注意

      这个队列中的内容不能理解为真实副本,因为真实副本是broker。

    2、当leader挂掉以后,需要从ISR中选择一个副本出来当leader,但是ISR中不一样有内容,所以就会根据unclean.leader.election.enable的值有

      不同处理办法:值为true的时候,如果ISR中有,我就选择一个,如果没有,我就从OSR队列中选择一个(就是不完全同步的队列);值为false的时候,我必须

      要从ISR中找到一个,如果没有,不好意思,当前服务不可用,一直等,也就是一直等到原来挂掉的leader重启起来,加入ISR中,重新成为leader。

    3、说明一点就是,如果是设置的true,那么导致的后果就是数据可能丢失,如果是false,集群可能丢失可用性。这一块感觉有点难理解,看了好几篇博客,加自己理解才整明白。

    参考:

    https://zhuanlan.zhihu.com/p/65512721

    https://segmentfault.com/a/1190000038756474

  • 相关阅读:
    20200902
    20200808
    20200801
    20191017
    LeetCode #974. Subarray Sums Divisible by K 数组
    LeetCode #532. K-diff Pairs in an Array 数组 哈希 双指针
    LeetCode #234. Palindrome Linked List 链表 栈 链表逆置
    LeetCode #307. Range Sum Query
    LeetCode #45. Jump Game II 数组 贪心
    LeetCode #55. Jump Game 数组 贪心 线性DP 回溯
  • 原文地址:https://www.cnblogs.com/zxg-blog/p/15161649.html
Copyright © 2020-2023  润新知