> 文章列表 > Kafka进阶(二)

Kafka进阶(二)

Kafka进阶(二)

Kafka控制器Controller即Broker,是Kafka的核心组件,其主要作用是在Zookeeper的帮助下管理和协调整个Kafka集群。集群中任意一台Broker都能充当控制器的角色,但是在运行过程中,只能有一个Broker成为控制器,来执行管理和协调的职责,也就是说每个正常运转的Kafka集群,在任意时刻都有且只有一个控制器。

Kafka进阶(二)

1、Kafka Broker之控制器机制

Kafka是依赖Zookeeper来维护集群成员的信息:Kafka使用Zookeeper的临时节点来选举Controller,Zookeeper在Broker加入集群或退出集群时通知Controller,Controller负责在Broker加入或离开集群时进行分区Leader选举。
Kafka控制器是起协调作用的组件,那么控制器的作用大致分为以下5种:

  1. Topic管理
    Topic管理,是指控制器帮助完成对Kafka主题的创建、删除以及分区增加的操作,大部分的后台工作都是控制器来完成的。

  2. 分区重分配
    当一个新的broker刚加入集群时,不会自动地分担已有Topic的负载,它只会对后续新增的Topic生效。如果要让新增broker为已有的Topic服务,用户必须手动调整现有的Topic的分区分布,将一部分分区迁移到新增broker上,这就是所谓的分区重分配reassignment操作。除了处理broker扩容导致的不均衡之外,再均衡还能用于处理broker存