zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【干货】国外程序员整理的 C++ 资源大全–日常工作,我觉得用处确实很大,所以分享
    android实例 listview与sqlite数据绑定
    Android整理:SQlite数据库的使用以及通过listView显示数据
    Android之SimpleAdapter简单实例和SimpleAdapter参数说明
    LinearLayout里面的空间居中对齐
    context.startActivity(Intent intent)方法启动activity
    Context.startActivity出现AndroidRuntimeException
    ListFragment 使用ListView and 自定义Adapter
    匿名类型
    元组Tuple
  • 原文地址:https://www.cnblogs.com/once/p/12963678.html
Copyright © 2011-2022 走看看