Kafka进阶(一)

Kafka以高吞吐量、低延迟、高并发、高可扩展性而自称,并在越来越多的场景中应用。下面聊聊Kafka高可用、高性能、高并发的设计原理。

Kafka进阶(一)_第1张图片

1、Kafka高可用设计原理

1.1、控制器

Kafka控制器就是Broker,除了具有一般Broker的功能外,还具有选举主题的分区Leader节点的功能。
在启动Kafka系统的时候,其中一个Broker会被选举为控制器,负责管理主题的分区和副本的状态,还会执行重分配的任务。第一个启动的Broker会在Zookeeper系统里创建一个临时节点/controller,并写入该节点的注册信息,使该节点成为控制器。其他Broker在陆续启动时,也会尝试在Zookeeper系统中创建临时节点/controller,但由于已经存在,会创建失败,确保了Kafka集群中控制器的唯一性。
可见,控制器选举的核心思路是各个节点公平竞争抢占Zookeeper系统中临时节点/controller,最先创建成功的Broker会成为控制器,并拥有选举主题的分区Leader节点的功能。

1.2 、副本机制

副本机制简单来说就是备份机制,在集群中保存着相同的数据备份,提供数据冗余,是Kafka确保系统高可用和高持久的重要基石。
Kafka的分区是多副本的,若其中一个副本丢失了,那么还可以从其他副本中获取分区数据。
在Kafka中,主题(Top

你可能感兴趣的:(kafka,kafka,分布式,大数据)