首页 > 其他分享 >Kafka——Controller、Rebalance、HW的基础概念

Kafka——Controller、Rebalance、HW的基础概念

时间:2022-08-20 21:23:46浏览次数:71  
标签:消费 分区 HW Kafka Controller Rebalance leader

Kafka——Controller、Rebalance、HW

1. Controller

  • Kafka集群中的broker在zk中创建临时序号节点,序号最小的节点(最先创建的节点)将作为集群的controller,负责管理整个集群中的所有分区和副本的状态:
    • 当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。
    • 当检测到某个分区的ISR集合发生变化时,由控制器负责通知所有broker更新其元数据信息。
    • 当使用kafka-topics.sh脚本为某个topic增加分区数量时,同样还是由控制器负责让新分区被其他节点感知到。

2. Rebalance

前提:消费者没有指明分区消费。当消费组里消费者和分区的关系发生变化,那么就会触发rebalance机制。

​ 这个机制会重新调整消费者消费哪个分区。

在触发rebalance机制之前,消费者消费哪个分区有三种策略

  • range:通过公示来计算某个消费者消费哪个分区
  • 轮询:大家轮着消费
  • sticky:在触发了rebalance后,在消费者消费的原分区不变的基础上进行调整。

3. HW与LEO

HW俗称高水位:HighWatermark的缩写,取一个partition对应的ISR中最小的LEO(log-end-offset)作为HW,consumer最多只能消费到HW所在的位置。

另外每个replica都有HW,leader和follower各自负责更新自己的HW的状态。

对于leader新写入的消息,consumer不能立刻消费,leader会等待该消息被所有ISR中的replicas同步后更新HW,此时消息才能被consumer消费。

这样就保证了如果leader所在的broker失效,该消息仍然可以从新选举的leader中获取。

LEO:是某个副本最后消息的位置(log-end-offset)

标签:消费,分区,HW,Kafka,Controller,Rebalance,leader
From: https://www.cnblogs.com/hcxss/p/16608627.html

相关文章

  • kafka触发Rebalance
    当kafka遇到如下四种情况的时候,kafka会触发Rebalance:消费组成员发生了变更,比如有新的消费者加入了消费组组或者有消费者宕机消费者无法在指定的时间之内完成消息的消费......
  • kafka高性能的相关设计(2):
     1.kafka存储再文件系统上顺序写磁盘效率比随机写内存还要高,这是kafka高吞吐率的一个重要的保证。缓存页pageCache数据传输的零拷贝读写数据的批......
  • SpringBoot中调用Kafka
    Kafka实战——在SpringBoot中的应用官网文档链接1.pom引用 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spri......
  • restcontroller和controller区别
    @RestController和@Controller注解RestController的作用相当于Controller加ResponseBody共同作用的结果,但采用RestController请求方式一般会采用Restful风格的形式。Cont......
  • docker中安装kafka
    docker中安装kafka在安装kafka之前需要先安装zookeeper,因为kafka启动会将元数据保存在zookeeper中,zookeeper是一种分布式协调服务,可以再分布式系统中共享配置,协调锁资......
  • Kafka生产者与消费者
    Kafka生产者与消费者1.kafka客户端——生产者1.pom配置<properties><lombok.version>1.16.18</lombok.version><fastjson.version>1.2.66</fas......
  • helm 部署kafka,zookeeper集群
    环境要求:k8s集群,helm组件实现:helmrepoaddbitnamihttps://charts.bitnami.com/bitnamihelmrepoupdatehelminstallkafkabitnami/kafka\ --setstatefulset.r......
  • helm 部署kafka-manager
    环境要求:k8s集群,helm组件实现:helminstall kafka-manager stable/kafka-manager  -fkafka-manager-values.yamlvim  kafka-manager-values.yamlimage:repos......
  • 转录相关signalling pathway活性打分 | 常见打分系统
     历史分析:pathway是一个不得不研究的主体,比如我们的paper就给很多GOpathway的基因打分了,很简单就是一个求均值。关于complex的活性打分,就得使用几何平均,因为缺失任何......
  • 图解 Kafka 超高并发网络架构演进过程
    阅读本文大约需要30分钟。大家好,我是华仔,又跟大家见面了。上一篇作为专题系列的第一篇,我们深度剖析了关于Kafka存储架构设计的实现细节,今天开启第二篇,我们来深......