华人澳洲中文论坛

热图推荐

    超具体图解kafka出产消费流程

    [复制链接]

    2022-11-3 21:42:05 33 0

    目录:
    一条动静在kafka是如何出产的?
    一条动静在Kafka是如何存储的?
    一条动静在kafka是如何消费的?
    Kafka为何高机能?
    Kafka为何高可用?
    一.一条动静在kafka是如何存储的?1.1 客户端流程:


    1.2 办事端流程:


    二.一条动静在kafka是如何存储的2.1数据构造


    2.2数据读取


    三. 一条动静在kafka是如何消费的?3.1消费流程3.2 消费者如何拉取数据3.3 消费者消费进度如何包管


    四. kafka是如何做到高可用的?4.1 基于NIO的高并发网络构造


    4.2 磁盘程序IO
    程序读写在kafka源码体现:
    写:提前批量请求segment+基于上次offset写入
    读:从固定地位读取+size
    4.3 零拷贝
    传统的IO流程:


    零拷贝kafka完成:
    selector写入数据时,经过FileChannel.transferTo完成零拷贝


    2)-OffsetIndex的妹妹ap完成零拷贝(将内核中读缓冲区(read buffer)的地址与用户空间的缓冲区(user buffer)进行映照,从而完成内核缓冲区与运用顺序内存的同享)


    4.4 批量处置


    五. Kafka为何高可用?5.1-分区正本机制
    a. 每个分区能够配置正本,次要用于容灾处置。好比leader正本挂了,能够再选择其余ISR的follower正本来作为leader正本,进而对外办事
    b. 只要leader正本对外提供办事,follower正本不提供办事,只会跟leader正本放弃数据同步


    5.2-ACK机制
    a. 关于高牢靠性要求较高的场景,设置ack=all能够包管动静不会丧失
    b.不丧失原理

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题31

    帖子42

    积分195

    图文推荐