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

  • 相关阅读:
    Nginx 配置实例-动静分离
    nginx-轮询、权重、ip_hash 、fair模式
    nginx-负载均衡
    nginx 常用的命令和配置文件
    Nginx 的简介
    阿里云--安装nginx AND访问超时
    阿里云-docker安装redis AND(docker基本操作命令)
    阿里云-docker安装mysql
    阅读金字塔原理笔记1
    Springboot-整合redis
  • 原文地址:https://www.cnblogs.com/once/p/12963678.html
Copyright © 2011-2022 走看看