【第一章】基本概念

kafka 体系结构

体系结构相关角色

  • producer:生产者
  • consumer :消费者
  • Broker:可以看作一个独立的 Kafka 服务节点或 Kafka服务实例。一个或多个broker组成一个Kafka集群
    Zookeeper集群
  • partition:分区。一个主题包含多个分区,一个分区只属于单个主题。同个分区内,通过offset能保证有序,但跨分区不保证有序
  • topic:主题。生产者负责将消息发送到特定的主题,而消费者负责订阅主题并进行消费。
  • replica:partition的副本(包含leader和follower两类)。通过增加副本数量可以提升容灾能力,一主多从,其中 leader副本负责处理读写请求,follower副本只负责与leader副本的消息同步
    • leader:leader挂了后,ISR中的follower有资格被选举成leader
    • follower:从leader拉取消息进行同步

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

kafka 多副本架构

一主2从

AR ISR OSR

(恒等式:AR=ISR+OSR),(正常情况下,所有的follower都应该与leader保持一定程度的同步:OSR=0,AR=ISR)

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

leader 副本负责维护和跟踪 ISR 集合中所有 follower 副本的滞后状态,当 follower 副本落后太多或失效时,leader副本会把它从ISR集合中剔除。 如果OSR集合中有follower副本追上了 leader副本,那么 leader副本会把它从 OSR集合转移至 ISR集合

分区中各种偏移量

  • HW (High Watermark)高水位 它标识 了一个特定的消息偏移量(offset),消费者只能拉取到这个 offset之前的消息
  • LEO (Log END offset) 底水位 下一条待写入消息的位置
  • ISR 集合中最小的LEO既为HW,消费者只能消费HW 之前的消息,如下图IS集合中 follower2副本的LEO为4,则leader的HW为4 只能消费4之前的消息
posted @ 2023-02-13 19:53  码动乾坤007  阅读(57)  评论(0)    收藏  举报