• 【kafka】基本名词解释


    img

    Producer:生产者,也就是产生消息的一方,生产者负责创建消息然后投递到kafka


    Consumer:消费者,也就是接受消息的乙方,消费者连接到kafka上并接受消息,进而进行相应的业务逻辑处理

    Consumer Group:多个消费者可以组成一个消费组,

    在kafka的设计中,一个分区的数据只能被同一个消费者组的一个消费者消费。

    同一个消费者组的消费者可以消费同一个topic的不同分区的数据

    Broker:broker可以看做一个kafka实例或者kafka服务节点,每个服务器上可以有一个或多个broker。在kafka集群内的每个broker都有一个唯一的编号

    Topic:消息的主题,每个broker上可以创建多个topic,一个topic可以横跨多个broker,kafka中的消息以topic进行分类,发送到kafka的每一个消息都要指定一个topic,消费者则负责订阅topic并消费。

    Partition:topic的分区,主题事业观逻辑上的概念,它还可以细分为多个分区。同一主题在不同分区的数据是不重复的,分区的表现形式就是一个个的文件夹(topic name - partition id),分区数据的存储则可以看做一个可追加的日志(log)文件

    img

    offset:偏移量,消息在被追加到分区的log文件的时候都会分配一个偏移量offset,这是消息在分区内的唯一表示,他可以保证消息在分区内是有序的,但他不是跨分区的(也就是说kafka可以保证分区有序而不是主题有序)


    **replication**:每一个分区都有多个副本,通过增加副本的数量可以提升容灾能力,副本之间是“一主多从”的关系,当主分区(Leader)故障的时候会选择一个备胎(Follower)上位成为新的Leader。副本处于不同的broker中 ,同一机器统一分区只能存放一个副本(包括自己),所以副本的最大数量不能大于broker的数量

    img

    分区中所有的副本的统称为AR(Assign Replicas)

    与Leader保持一定同步的副本(包括Leader副本)组成ISR(In-Sync Replicas)

    与Leader副本同步滞后过多的副本组成OSR(Out-of-Sync Replicas)

    也就是说AR = ISR + OSR

    正常情况下 AR = ISR ,OSR为空

    默认情况下当Leader副本故障时,只有ISR中的副本才有资格成为下一个Leader(可配置的)



    LSO(LogStartOffset)起始offset

    LEO(LogEndOffset)将要写入的offset

    HW(High Watermark)ISR集合中最小的LEO,消费者只能拉取到HW这个offset之前的消息

    img

    为便于理解举个简单的例子:

    1.此时Leader和两个follower消息是同步的,并且生产者写入消息3,4

    img

    2.生产者写入完成后,两个follower开始同步消息

    img

    3.但是两个follower的效率并不相同,

    ​ 此时HW取最小值4,

    ​ Leader和follower1的LEO为5,

    ​ follower2的LEO为4

    img

    4.两个follower全部同步完成,此时HW = 5

    img

  • 相关阅读:
    element-ui对话框dialog详解
    中国医疗器械在“一带一路”国家贸易状况及贡献度分析
    大咖说*每周推荐 | 云采销助力中小企业获客提升 300%
    通过部署流行 Web 框架掌握 Serverless 技术
    【短文】vim怎么切换文件
    【电源专题】LDO的电源抑制比(PSRR)
    【python】PySide中QMessageBox设置中文按钮及使用
    如何实现业务解耦?spring中事件监听了解一下
    复习十:栈与递归的实现
    4.2 Windows驱动开发:内核中进程线程与模块
  • 原文地址:https://blog.csdn.net/qq_43460095/article/details/126163178