• Kafka消息送达语义说明


    0.11 

    --> 

    ## send 

    asenddown

    bsend

    a 

    Leader downzktimeouttimeout  *  < zk session timeout + 

    back = -

    ack = 0 Leader down 

    ack = 1 LeaderLeaderReplicaLeader down 

     

    amin.insync.replicas < 2  unclean.leader.election.enable = tru

    min.insync.replicas < 2 LeaderLeader downLeader 

    aoffset 

    offset

    boffset息 

    offset

    a 

    bretries = Long.MAX_VALUE

    cacks = -1

    areplication factor = 3

    bmin.insync.replicas = 2

    cunclean.leader.election.enable = false

    aauto.commit.enable = false

    boffset

     

    a 

      

    aauto.commit.enable = true

    offsetconsumer down。 

     --> 

     --> auto.commit.enable = falseoffset

    0.11 

     --> 

    。 

     


    ProducerProducerProducer

    enable.idempotence = true --> 

    retries = Integer.MAX_VALUE 

    max.in.flight.requests.per.connection = 1 

    acks = -1 

    aProducerInitProducerIdRequestProducerIdAndEpoch producerId Brokerzkepoch 

    bProducerProducerIdAndEpoch0 

    c ProducerIdAndEpoch  

    dProducerProducerIdAndEpoch1 

    e  

    isFromClient == true && 

    batch.producerIdAndEpoch == producerIdAndEpoch && 

    batch.baseSequence == firstSeq && 

    batch.lastSequence == lastSeq 

    aProducerIdAndEpoch 

    max.in.flight.requests.per.connection

    retries   

    b acks = -1  

    cLeader  .snapshotappend退.snapshot 


     -- 

    Producer transactionalIdproducerIdepoch 

    transaction coordinator 

    transaction coordinatorBrokerBroker

    KeyTopic transaction coordinator down 

     

    controltransactionalId 

    使control 

    a 

    FindCoordinatorRequesttransaction coordinator

    InitProducerIdRequesttransaction coordinatorProducerIdAndEpoch

    transaction coordinator  transactionalId --> producerId 

    transaction coordinator  transactionalId 

    b务 

    c) 

    AddPartitionsToTxnRequesttransaction coordinatortransaction coordinator BEGINpartition BrokerBroker 

    d 

    Producer  EndTxnRequest  transaction coordinator transaction coordinator PREPARE_COMMIT PREPARE_ABORT transaction coordinator partition COMMIT/ ABORTcontrol transaction coordinator  COMMIT/ ABORT Broker 

    READ_COMMITED 

    aRebalance

    btransactionalIdtransactionalIdcontrolcontrolCOMMITABORT

    --

    offset

    offsetzkBroker consumercoordinator offset consumercoordinator  groupId-offset TopicTopic groupId-offset 

     

    a 

    b 

    c) 

    AddPartitionsToTxnRequest transaction coordinatortransaction coordinator BEGINpartition BrokerBroker

     AddOffsetsToTxnRequest  transaction coordinator

     TxnOffsetCommitRequest  consumercoordinator

    d 

    Producer  EndTxnRequest  transaction

    coordinator transaction coordinator PREPARE_COMMIT PREPARE_ABORT

    transaction coordinator partition COMMIT/ ABORTcontrol

    transaction coordinator  consumercoordinator  offsetcontrol

    transaction coordinator  COMMIT/ ABORT

    Broker

     

    offset

    offsetoffset consumercoordinator control offsetoffset 

    aread_uncommited

     

    bread_commited

     

    down 

    offsetdown

    control

    offsetdown

    offsetcontrol 

    down

     

    transaction coordinator down: 

     transaction coordinator  BrokerKafka coordinator

    down 

    consumercoordinator down

    offset

    offset 

    broker leader down

    KafkaLeader 

     down

    read_uncommited

    read_commited

    LSO 

    穿 

    LSO 

    BEGIN 

    PREPARE_COMMIT

    PREPARE_ABORT 

    COMMIT 

    ABORT

  • 相关阅读:
    Linux grep命令使用方法
    Linux crontab使用方法
    Linux find命令使用方法
    软件测试全流程
    Linux查看CPU、内存、IO占用高的进程
    使用py2exe转换python文件为可执行程序
    Shell脚本调试方法
    Shell编程常用函数
    Win10常用快捷键使用指南
    mac上一键配置和安装adb驱动或者环境
  • 原文地址:https://www.cnblogs.com/once/p/12963678.html
Copyright © 2020-2023  润新知