二、Kafka组件与角色

Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲

http://kafka.apache.org/

Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲

Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.

kafka组件

Broker

每个Kafka Server称之为一个Broker,多个Broker可以组成Kafka Clutser

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LV0YsKZ5-1593838910897)(assets/1573614506577.png)]

一个节点上可以有一个或者多个Broker,多个Broker连接到相同的ZK组成了Kafka集群。

Topic

Kafka是一个发布订阅消息系统

Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲
Topic就是消息类名,一个Topic中通常存放一类消息,每一个Topic都有一个或者多个订阅者,也就是消费者。

Producer 将消息推送到Topic,有订阅该Topic的Consumer从Topic中拉取消息。

Topic 与 Broker

一个Broker 上可以创建一个或者多个Topic,一个Topic可以同一集群下的多个Broker
Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲

Partition

kafka会为每个Topic维护多个分区(partititon),每个分区会映射到一个逻辑的日志(log)文件

Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲

一个Topic可以被划分为多个分区(自定义)

Partition Distrbution

Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲

对于同一个partiton,它所在任何一个broker,都有能扮演两种角色:leader、follower

每个partiton的Leader用于处理到该partiton的读写请求。

每个partiton的followers是用于异步的从它的leader中复制数据。

Kafka会动态维护一个与Leader保持一致的同步副本(in-sync replicas (ISR))集合,并且会将最新的同步副本(ISR )集合持久化到zookeeper。如果leader出现问题了,就会从该partition的followers中选举一个作为新的leader。

Kafka 角色

Producer

Producer作为消息的生产者,在生产消息后需要将消息投送到指定的目的地(某个topic的某个partition)。Producer可以根据指定选择partiton的算法或者是随机方式来选择发布消息到哪个partiton

Consumer

在Kafka中,同样有consumer group的概念,它是逻辑上将一些consumer分组。因为每个kafka consumer是一个进程。所以一个consumer group中的consumers将可能是由分布在不同机器上的不同的进程组成的。Topic中的每一条消息可以被多个consumer group消费,然而每个consumer group内只能有一个consumer来消费该消息。所以,如果想要一条消息被多个consumer消费,那么这些consumer就必须是在不同的consumer group中。所以也可以理解为consumer group才是topic在逻辑上的订阅者。

​ 每个consumer可以订阅多个topic。

​ 每个consumer会保留它读取到某个partition的offset。而consumer 是通过zookeeper来保留offset的

Kafka 史上最全面的大数据学习(十一) Kafka组件与角色 冲冲冲

组内均分分区组间广播

献给每一个正在努力的我们,就算在忙,也要注意休息和饮食哦!我就是我,一个在互联网跌跌撞撞,摸爬滚打的热忱,给个三连吧~ 还有就是不要只看,多动手才行!努力呀!

相关文章:

  • 2021-10-24
  • 2021-04-12
  • 2021-09-14
  • 2022-02-08
  • 2021-08-15
  • 2022-12-23
  • 2021-05-24
  • 2021-06-22
猜你喜欢
  • 2021-04-30
  • 2021-11-11
  • 2022-02-06
  • 2021-07-31
  • 2022-12-23
  • 2021-08-31
相关资源
相似解决方案