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

原文地址:https://www.cnblogs.com/once/p/12963678.html