Kafka的相关原理

在这里插入图片描述

一、Kafka术语解释

  1. Producer:kafka生产者,Kafka集群的数据都是生产者发送上报的;
  2. leastLoadedNode:kafka集群中负载最低的节点,通常生产者客户端向其发送MetaDataRequest(元数据请求)获取元数据信息,从而获取各个消息发送请求对应的元数据更新;
  3. Broker:每个Broker算是一个Kafka的集群节点;
  4. Consumer:a、每个Kafka的数据都会被1个或者多个Consumer线程所消费;b、kafka一个分区的数据只能同时被一个Consumer组中的一个Consumer线程所消费
  5. Partition:每个Topic对应多个分区,根据Partitioner分区器将数据保存在不同的分区(Partition)中;
    • Replication:每个partition数据包含1到N个Replication,称为分区副本,一个分区对应的副本分布在不同的broker节点上;

    • AR:每个Partition的Leader副本在内存中维护的副本队列,AR(All Replications)= ISR + OSR;
      在这里插入图片描述

    • ISR:内部副本同步队列=ISR,ISR中由leader按照LEO同步情况维护着Leader以及其它同步数据完整性较高的Follower,如果ISR中Follower的数据同步落后到某个标准,Leader会将其剔出ISR=>OSR

    • OSR:OSR是AR中分给ISR,但是ISR不需要的子项(被删除的无用Follower)

  6. Leader:一个分区中负责读、写的副本,它的数据一定是>=其它副本的,如果它挂了,通过ZK来选举一个新的Leader;
  7. Follower:一个分区中负责从Leader副本中同步数据,响应正常的为ISR,响应超时或故障则丢弃为OSR
  8. LEO:每个副本上下一条数据将被插入的offset;
    在这里插入图片描述
    leader领导者的数据部分。
  9. HW:消费者只能消费 < HW 之前 offset 的数据,因为 >= HW 的数据对于 Consumer 来说是不可见的(HW = 一个分区副本对列中所有副本中最低的那个LEO)。

1、领导者和追随者消息的备份与存储图解

HW 与 LEO 之间的转换
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、Kafka工作流程图

在这里插入图片描述
不管生产消息,还是消费消息,都是面向消息队列(topic),但消息队列实际上不过是逻辑上的概念,而分区(partition)才是物理上存储数据的概念。分区对于着data数据文件(.log)源于生产者,生产的新数据追加到log文件末端,每条数据都有自己的偏移量(offset),消费者根据记录自身消费到的offset来确定上次消费到的数据。便于恢复。

一个超级详细的Kafka介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值