Kafka的基础架构

简介

Kafka是一个基于发布订阅的分布式消息队列,主要用于大数据实时处理场景。

在这里插入图片描述
Producer:消息生产者,向kafka集群发送消息的客户端。
Consumer:消息的消费者,向Kafka集群取出消息的客户端。
Consumer Group:多个消费者也可以联合起来组成一个消费者组,这个消费者组共同消费一个topic中的数据,一个消息只会被消费者组中的一个消费者所消费,其它同组消费者不会重复消费该消息。
Broker:kafka集群中的一台服务器被称为Broker,一个Broker可以包含多个topic。
Topic:kafka中的数据都是存放在一个个的topic中的,这个topic可以理解为数据队列,相同属性的数据放到同一个数据队列中,供消费者消费。
Partition:当topic中的数据太大时,一台服务器是很难存放的,一般我们会把一个topic的数据分不到多个broker中,这就是分区,每个broker存放一部分数据,每个分区都是一个有序的数据队列。
Replica:为了防止服务器节点故障,可以为每个topic的分区设置若干副本,这个副本和源分区是存放再不同的broker上,保证了数据可用性。同时一个topic的每个分区有若干副本,其中有一个是leader剩下的都是follower。
Leader:每个分区中有多个副本,其中有一个“主”,生产者和消费者的对象都是leader。
Follower:每个分区中多个副本的“从”,主要负责实时同步leader的数据,同时在leader发生故障时,某个follower会成为“主”。

Kafka文件存储机制

在这里插入图片描述
一个topic会被分被划分为很多个分区,每个分区的数据都会存放在本地的log文件中,为了防止log文件越来越大,一个分区的数据会被分为若干个segment,可以理解为分段。每个segment中包含两个文件一个是存放数据的log文件,一个是log文件的索引文件,这个索引文件为了快速找到log中的目标数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值