广告
返回顶部
首页 > 资讯 > 数据库 >Kafka消息送达语义说明
  • 645
分享到

Kafka消息送达语义说明

Kafka消息送达语义说明 2018-05-27 11:05:15 645人浏览 才女
摘要

kafka消息送达语义说明 0.11 版本之前保证的语义是:至少一次   至少一次的解释 可以做到消息不丢失--> 可以做到发送成功的消息一定可以被消费到。 不能做到消息不重复。 ## 发送成功的消息,

Kafka消息送达语义说明

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

您可能感兴趣的文档:

--结束END--

本文标题: Kafka消息送达语义说明

本文链接: https://www.lsjlt.com/news/6316.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Kafka消息送达语义说明
    Kafka消息送达语义说明 0.11 版本之前保证的语义是:至少一次   至少一次的解释 可以做到消息不丢失--> 可以做到发送成功的消息一定可以被消费到。 不能做到消息不重复。 ## 发送成功的消息,...
    99+
    2018-05-27
    Kafka消息送达语义说明
  • kafka 消息队列中点对点与发布订阅的区别说明
    目录背景知识1.JMS中定义2.二者分析与区别2.1 点对点模式2.2 发布订阅模式3.流行的消息队列模型比较3.1 RabbitMQ3.2 Kafka背景知识 JMS一个在&nbs...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作