《深入理解kafka-核心设计与实践原理》第一章:概念

第一章:概念

[1.1 基本概念](#1.1 基本概念)

[1.1.1 基本角色与概念](#1.1.1 基本角色与概念)

[1.1.2 其他概念(AR、ISR、OSR、HW、LEO)](#1.1.2 其他概念(AR、ISR、OSR、HW、LEO))

[1.2 概念图](#1.2 概念图)

第一章:概念

  • 背景
    • Kafka起初是由LinkedIn公司采用Scala开发的,现已被捐给Apache
    • 尽管Kafka的核心是用Scala编写的,但它提供了兼容Java的API(因为Scala能在JVM上运行,并且与Java有很好的互操作性)
  • Kafka扮演的三大角色:
    • 消息系统(消息中间件):系统间解稿、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性
    • 存储系统(持久化功能):基于消息持久化功能和多副本机制,Kafka可作为长期的数据存储系统
    • 流式处理平台:

1.1 基本概念

1.1.1 基本角色与概念

  • Producer:生产者
  • Consumer:消费者
  • Broker:可以看作一个独立的【Kafka 服务节点】或【Kafka服务实例】。一个或多个broker组成一个Kafka集群
  • Zookeeper集群:早期Kafka依赖Zk进行集群管理、选举等操作。2.8.0中引入KRaft模式,允许用户尝试不依赖于Zookeeper的Kafka集群
  • Partition:分区。一个主题topic包含多个分区partition,一个分区只属于单个主题。同个分区内,通过offset能保证同分区有序,但跨分区不保证有序
  • Topic:主题。生产者负责将消息发送到特定的主题,而消费者负责订阅主题并进行消费
  • Replica:partition的副本(包含leader和follower两类)。通过增加副本数量可以提升容灾能力,一主多从,其中 leader副本负责处理读写请求,follower副本只负责与leader副本的消息同步
    • leader:leader挂了后,ISR中的follower有资格被选举成leader
    • follower:从leader拉取消息进行同步

总结:kafka通过partition的水平扩展支持高性能,通过replica提升容灾能力

1.1.2 其他概念(AR、ISR、OSR、HW、LEO)

AR,ISR,OSR(恒等式:AR = ISR + OSR)

  • AR(Assigned Replicas):分区中的所有副本
  • ISR(On-Sync Replicas):所有与leader副本保持一定程度同步的副本(包括 leader 副本在内)。这个一定程度是个范围,通过参数可以配置
  • OSR ( Out-of-Sync Replicas):与leader副本同步未到一定程度的副本(不包括leader副本)

总结

  • 正常情况下,所有的follower都应该与leader保持一定程度的同步:OSR=0,AR=ISR
  • leader 副本负责维护和跟踪 ISR 集合中所有 follower 副本的滞后状态,当 follower 副本落后太多或失效时,leader副本会把它从ISR集合中剔除。 如果 OSR 集合中有follower副本追上了 leader副本,那么leader副本会把它从 OSR 集合转移至 ISR 集合
  • 默认情况下, 当 leader 副本发生故障时,只有在 ISR 集合中的副本才有资格被选举为新的 leader, 而在 OSR 集合中的副本则没有任何机会

HW,LEO

理解:分区 ISR集合中的每个副本都会维护自身的 LEO,而ISR集合中最小的 LEO 即为分区的 HW ,对消费者而言只能消费 HW 之前的消息

  • HW(High Watermark):高水位。它标识 了一个特定的消息偏移量(offset),消费者只能拉取到这个 offset 之前的消息。下图中HW=6,消费者只能消费offset=[0,5]的消息
  • LEO(Log End Offset):标识当前日志文件中下一条待写入消息 的 offset,LEO的大小相当于当前日志分区中最后一条消息的offset值加1。上图中LEO=9

1.2 概念图

4个broker,3个partition,replica=3(一主两从)

相关推荐
腾讯云中间件13 小时前
Kafka 集群上云新突破:腾讯云 CKafka 联邦迁移方案
云原生·kafka·消息队列
跟着珅聪学java14 小时前
在电商系统中,如何确保库存扣减的原子性
分布式
JH307315 小时前
Redisson 看门狗机制:让分布式锁“活”下去的智能保镖
分布式
一点 内容17 小时前
深入理解分布式共识算法 Raft:从原理到实践
分布式·区块链·共识算法
8Qi817 小时前
分布式锁-redission
java·redis·分布式·redisson
18 小时前
鸿蒙——分布式数据库
数据库·分布式
jiayong2318 小时前
微服务架构与 Spring 生态完全指南
kafka·rabbitmq·rocketmq
Hui Baby18 小时前
分布式多阶段入参参数获取
分布式
阿拉斯攀登20 小时前
Spring Cloud Alibaba 生态中 RocketMQ 最佳实践
分布式·微服务·rocketmq·springcloud·cloudalibaba
无锡布里渊21 小时前
感温光纤 DTS 系统 vs 感温电缆 对比分析报告
分布式·实时监测·分布式光纤测温·线型感温火灾监测·感温电缆