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

posted @ 2020-05-26 09:54  知了小巷  阅读(659)  评论(0编辑  收藏  举报