kafka详解 - 选举和消费机制

kafka的选举机制

1.控制器(Broker)选举

  • 在一个kafka集群中,有多个broker节点,所有的Kakfa Broker集群受Zookeeper管理。第一个启动的broker会通过在zookeeper中创建临时节点/controller来让自己成为控制器,其他broker启动时也会在zookeeper中创建临时节点,如果已经存在了一个控制器,那么就会在zookeeper中创建watch对象(也叫Kafka Broker follower),便于它们收到控制器变更的通知,当一个broker control 控制器发生了宕机,所有的Broker follower 都会收到通知,就会去Zookeeper 上注册一个Broker Controller ,但是只有一个会注册成功,其他的依旧都会失败,这个成功在Zookeeper上注册临时节点的这个Kafka Broker会成为Kafka Broker Controller

2.分区副本选举机制

  • 在kafka的集群中,会存在着多个主题topic,在每一个topic中,又被划分为多个partition,为了防止数据不丢失,每一个partition又有多个副本.
  • 分区使用多副本机制来主要是提升可靠性,一点有副本挂了,就会选择一个新的分区副本成为leader,只有 leader 副本对外提供读写服务,而 follower 副 本只负责在内部进行消息的同步。如果一个分区的 leader 副本不可用,那么就意味着整个分区 变得不可用 ,此时就需要 Kafka 从剩余的 follower 副本中挑选一个新的 leader 副本来继续对外 提供服务。虽然不够严谨,但从某种程度上说 , broker 节点中 leader 副本个数的多少决定了这 个节点负载的高低。

3.消费组选举

  • 在kafka的消费端,会有一个消费者协调器以及消费组,组协调器GroupCoordinator需要为消费组内的消费者选举出一个消费组的leader
  • 如果消费组内还没有leader,那么第一个加入消费组的消费者即为消费组的leader,如果某一个时刻leader消费者由于某些原因退出了消费组,那么就会重新选举leader。

主题和分区

主题和分区是 Kafka 的两个核心概念
主题和分区是逻辑上的概念,一个主题下可以有N个分区,副本和log 日志文件, 只有日志层面才是实际无力上的存在。

  • 生产者发布消息到对应的主题用于消费者订阅消费,订阅者并且从订阅的主题上拉去信息,当消息发布到主题后,只会被投递到订阅它的消费组的一个消费者中。

消费者与消费组

消费者( Consumer)负责订阅 Kafka 中的主题( Topic),并且从订阅的主题上拉取消息。 与其他一些消息中间件不同的是:在 Kafka 的消费理念中还有一层消费组( Consumer Group) 的概念,每个消费者都有 一个对应的消费组, 两个消费组之间互不影响。 每个消费者只能消费所分配到的分区中的消息。换言之 ,每一个分区只能被一个消费组中的一 个消费者所消费 。一般情况下,消费组的消费者数量小于订阅主题中的分区数量,否则会导致有消费者永远无法消费到分区的消息。

点对点 CP2P, Point-to-Point)模式和发 布/订阅( Pub/Sub)模式

  • 如果所有的消费者都隶属于同 一个消费组,那么所有的消息都会被均衡地投递给每 一 个消费者,即 每条消息只会被一个 消费者处 理,这就相当于点对点模式 的应用 。

  • 如果所有的消费者都隶属于不同的消费组,那么所有的消息都会被广播给所有的消费 者,即每条消息会被所有的消费者处理,这就相当于发布/订阅模式的应用 。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容