Apache Kafka 编程实战您可能感性的文章:
通过前几章的学习,我们已经从宏观层面了解了kafka的设计理念。包括kafka集群的组成、消息的主题、主题的分区、分区的副本等内容。接下来我们会继续深入,了解kafka的主要组件以及核心的流程,最后还会介绍kafka的消息是如何存储的。此章非常重要,通过本章和上一章的学习,你已经能够掌握kafka 80%的核心内容。当然随着学习的深入,难度也会越来越大,有任何问题欢迎留言或者私信。
Kafka主要的组件如下
- 控制器
- 协调器
- 日志管理器
- 副本管理器
我们将会逐个进行讲解,讲解过长还将保持前面章节的特点,多用有形的图表帮助读者理解。本篇博客先讲解控制器部分。
1、控制器
在前一章的学习中,我们已经知道Kafka的集群由n个的broker所组成,每个broker就是一个kafka的实例或者称之为kafka的服务。其实控制器也是一个broker,控制器也叫leader broker。他除了具有一般broker的功能外,还负责分区leader的选取,也就是负责选举partition的leader replica。控制器是kafka核心中的核心,需要重点学习和理解。