0
点赞
收藏
分享

微信扫一扫

快速入门Kafka系列(3)——Kafka架构之宏微观分析


        作为快速入门Kafka系列的第三篇博客,本篇为大家带来的是​Kafka架构之宏微观分析​~

        ​码字不易,先赞后看!

快速入门Kafka系列(3)——Kafka架构之宏微观分析_Hadoop


文章目录

  • ​​Kafka技术架构​​
  • ​​宏观​​
  • ​​微观​​

Kafka技术架构

宏观

快速入门Kafka系列(3)——Kafka架构之宏微观分析_Hadoop_02

宏观上,Kafka的架构包含四大部分

1、生产者API

允许应用程序发布记录流至一个或者多个kafka的主题(topics)。

2、消费者API

允许应用程序订阅一个或者多个主题,并处理这些主题接收到的记录流。

3、StreamsAPI

允许应用程序充当流处理器(stream processor),从一个或者多个主题获取输入流,并生产一个输出流到一个或 者多个主题,能够有效的变化输入流为输出流。

快速入门Kafka系列(3)——Kafka架构之宏微观分析_Kafka_03

4、ConnectAPI

允许构建和运行可重用的生产者或者消费者,能够把kafka主题连接到现有的应用程序或数据系统。例如:一个连 接到关系数据库的连接器可能会获取每个表的变化。

快速入门Kafka系列(3)——Kafka架构之宏微观分析_kafka_04

微观

快速入门Kafka系列(3)——Kafka架构之宏微观分析_Hadoop_05

说明​:kafka支持消息持久化,消费端为拉模型来拉取数据,消费状态和订阅关系有客户端负责维护,消息消费完 后,不会立即删除,会保留历史消息。因此支持多订阅时,消息只会存储一份就可以了。

内部细节

快速入门Kafka系列(3)——Kafka架构之宏微观分析_kafka_06

1)Producer​:消息生产者,就是向 kafka broker 发消息的客户端;

2)Consumer​ :消息消费者,向 kafka broker 取消息的客户端;

3)Consumer Group (CG)​:消费者组,由多个 consumer 组成。消费者组内每个消费者负责消费不同分区的数据,​一个分区只能由一个组内消费者消费​;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。

4)Broker​ :一台 kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个 broker可以容纳多个 topic。

5)Topic​ :可以理解为一个队列,生产者和消费者面向的都是一个 topic;每条发布到kafka集群的消息都必须有一个类别(topic)

6)Partition​:为了实现扩展性,一个非常大的 topic 可以分布到多个 broker(即服务器)上,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列;

7)segment​:一个partition当中存在多个segment文件段,每个segment分为两部分,.log文件和.index文件,其中.index文件是索引文件,主要用于快速查询.log文件当中数据的偏移量位置

8)Replica​:副本,为保证集群中的某个节点发生故障时,该节点上的 partition 数据不丢失,且kafka 仍然能够继续工作,且kafka 提供了副本机制,一个 topic 的每个分区都有若干个副本,一个 leader 和若干个 follower。

9)leader​:每个分区多个副本的“主”,生产者发送数据的对象,以及消费者消费数据的对象都是 leader。

10)follower​:每个分区多个副本中的“从”,实时从 leader 中同步数据,保持和 leader 数据的同步。leader 发生故障时,某个 follower 会成为新的 leader。

知识拓展:


1.​一个broker只能有一个leader,一个broker可以只有一个Topic一个Partition
2.​副本不负责数据的读取响应,消费者只能从Lead读取数据,Follower只是为了提高容错性
3.​消费者的并发度取决于分区数量
4.​分区数据副本数量<=Broker的数量(不允许一个分区的数据副本放在同一个Broker)


        好了,终于码完字了~本篇博客可谓是​精华满满​,对于刚学习Kafka的朋友可谓是十分良心了~如果你觉得对你有帮助,不妨带个点赞,点个关注,让更多的人受益٩(๑❛ᴗ❛๑)۶。

        本篇博客的知识总结就到这里了,下一篇博客将为大家带来​​Kafka的主要组件说明​​,敬请期待~



快速入门Kafka系列(3)——Kafka架构之宏微观分析_Kafka_07



举报

相关推荐

0 条评论