• 【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

  • 相关阅读:
    【算法集训 | 暑期刷题营】终章
    C#.Net筑基-集合知识全解
    nodejs+vue活鲜物流监控系统elementui
    2022年前端技术发展趋势
    最大电流1A,峰值电流1.1A单节锂离子电池充电芯片DP4056使用注意事项
    MATLAB2016笔记(四):字符串处理函数
    中间件 | Kafka - [安装 & 配置 & 启动]
    python一招完美搞定Chromedriver的自动更新
    Vue路由重定向
    Tcache Stashing Unlink Attack 原理详解
  • 原文地址:https://blog.csdn.net/qq_43460095/article/details/126163178