Kafka原理篇:图解kakfa架构原理

2021-12-09 15:09:30 浏览数 (1)

今天我们来深入讲解 Kafka 的架构和实现原理。本文将从架构和细节入手,以生动的图深入讲解 Kafka 的实现原理。

下面是本文的主要的内容:

由于内容太多,怕步子迈太大扯着蛋,[码哥]决定将文章分成三篇。此文只会涉及上面图中"橙色"的部分。

从本文你将学习到:

  • Kafka 架构设计哲学和原理
  • Kafka 中 zookeeper 的作用
  • Kafka Controller 实现原理
  • Kafka Network 原理

开篇寄语

尽可能做一些产品出来,有一个作品很重要,这是别人了解你的窗口。如果可能,给自己开一个公众号或者一个博客,记录自己每天的见闻思考。刚开始记会很凌乱没有逻辑,但坚持下去一定会有很大价值。

Architecture

理解 Kafka 架构,就是理解 Kafka 的各种组件的概念,以及这些组件的关系。先简单看一下各组件及其简单说明。

不要去尝试记忆他们

异太大。分区也不是越多越好哦,毕竟太多邮政公司也管理不过来。

Controller

Controller 是从 Broker 中选举出来的,负责分区 Leader 和 Follower 的管理。当某个分区的 leader 副本发生故障时,由 Controller 负责为该分区选举新的 leader 副本。当检测到某个分区的 ISR(In-Sync Replica)集合发生变化时,由控制器负责通知所有 broker 更新其元数据信息。当使用kafka-topics.sh脚本为某个 topic 增加分区数量时,同样还是由控制器负责分区的重新分配。

Kafka 中 Contorller 的选举的工作依赖于 Zookeeper,成功竞选为控制器的 broker 会在 Zookeeper 中创建/controller这个临时(EPHEMERAL)节点。

选举过程

0 人点赞