返回顶部
首页 > 资讯 > 数据库 >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://lsjlt.com/news/6316.html(转载时请注明来源链接)

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

猜你喜欢
  • Kafka消息送达语义说明
    Kafka消息送达语义说明 0.11 版本之前保证的语义是:至少一次   至少一次的解释 可以做到消息不丢失--> 可以做到发送成功的消息一定可以被消费到。 不能做到消息不重复。 ## 发送成功的消息,...
    99+
    2018-05-27
    Kafka消息送达语义说明
  • Kafka的消息传递语义是什么
    Kafka的消息传递语义是至少一次传递。这意味着当消息发布到Kafka中时,Kafka会尽最大努力确保消息至少被传递一次,即使出现了...
    99+
    2024-04-02
  • kafka发送消息的方式有哪些
    今天小编给大家分享一下kafka发送消息的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。kafka发送消息的方式p...
    99+
    2023-07-05
  • kafka 消息队列中点对点与发布订阅的区别说明
    目录背景知识1.JMS中定义2.二者分析与区别2.1 点对点模式2.2 发布订阅模式3.流行的消息队列模型比较3.1 RabbitMQ3.2 Kafka背景知识 JMS一个在&nbs...
    99+
    2024-04-02
  • kafka批量发送消息的方法是什么
    Kafka通过Producer API提供了批量发送消息的方法。以下是使用Kafka Producer API进行批量发送消息的步骤...
    99+
    2023-10-20
    kafka
  • java发送kafka事务消息的实现方法
    前言 事务对java开发的同学来说并不陌生,我们使用事务的目的在于避免产生重复数据或者说利用数据存储中间件的事务特性确保数据的精准性,比如大家熟悉的mysql,我们在程序开始时,只需...
    99+
    2024-04-02
  • kafka生产者发送消息流程是什么
    今天小编给大家分享一下kafka生产者发送消息流程是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。消息发送过程消息的发送...
    99+
    2023-07-05
  • 关于kafka发送消息的三种方式总结
    目录kafka发送消息的方式需要引入文件测试方法MAC下操作指令windows操作指令总结kafka发送消息的方式 package com.zl.kafkademo; impor...
    99+
    2023-05-14
    kafka发送消息 kafka发送 kafka消息
  • Go语言kafka生产消费消息实例搬砖
    目录kafka go库注意例子kafka go库 kafka go客户端官方目前没有提供,但在github有2个非常流行的库 星星较多,网上案例也多 https://githu...
    99+
    2022-06-09
    GO kafka
  • 使用Spring Boot和Kafka实现消息发送和订阅
    文章目录 一,新建Spring Boot1,Maven配置2,无法识别为SpringBoot项目3,无效的源发行版4,无法访问SpringApplication5,运行直接Finish6,服务...
    99+
    2023-09-05
    spring boot kafka 后端 订阅 消息队列
  • Kafka中的Producer发送消息失败后如何处理
    当Kafka中的Producer发送消息失败后,可以通过以下几种方式处理: 重试发送:Producer可以设置重试机制,当发送消...
    99+
    2024-04-02
  • RabbitMQ,RocketMQ,Kafka 事务性,消息丢失,消息顺序性和消息重复发送的处理策略问题
    目录消息队列常见问题处理分布式事务什么是分布式事务常见的分布式事务解决方案基于 MQ 实现的分布式事务本地消息表-最终一致性MQ事务-最终一致性RocketMQ中如何处理事务Kafk...
    99+
    2024-04-02
  • MFC模拟实现自定义消息发送
    目录自定义消息第一步:定义自定义消息名称以及ID第二步:发送自定义消息第三步:自定义消息映射第四步:自定义消息实现模拟系统消息wParam参数LPARAM参数在MFC框架下,有很多系...
    99+
    2024-04-02
  • Kafka中Producer如何处理消息发送失败的情况
    在Kafka中,Producer在发送消息时可能会遇到消息发送失败的情况。Producer可以通过以下几种方式来处理消息发送失败的情...
    99+
    2024-03-12
    Kafka
  • VBS中Class语句的定义和说明
    这篇文章主要介绍“VBS中Class语句的定义和说明”,在日常操作中,相信很多人在VBS中Class语句的定义和说明问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VBS中Class语句的定义和说明”的疑惑有所...
    99+
    2023-06-08
  • Kafka中如何实现自定义的消息存储格式
    在Kafka中,可以通过实现自定义的序列化和反序列化器来实现自定义的消息存储格式。以下是实现自定义消息存储格式的一般步骤: 定义...
    99+
    2024-04-09
    Kafka
  • MFC模拟实现自定义消息发送的方法
    这篇文章主要讲解了“MFC模拟实现自定义消息发送的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MFC模拟实现自定义消息发送的方法”吧!在MFC框架下,有很多系统已经定义好的消息,例如O...
    99+
    2023-06-29
  • 怎么用Python语言的grpc实现消息传送
    这篇“怎么用Python语言的grpc实现消息传送”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python语言的gr...
    99+
    2023-07-05
  • Go语言实现服务端消息接收和发送
    本文实例为大家分享了Go实现服务端消息接收和发送的具体代码,供大家参考,具体内容如下 一. 服务端接收数据并返回数据 服务端代码 package main import (    ...
    99+
    2024-04-02
  • Linux怎么在关机前向用户发送自定义消息
    今天小编给大家分享一下Linux怎么在关机前向用户发送自定义消息的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。作为一名系统管...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作