Kafka幂等性与事务

kafka幂等性 博客https://www.cnblogs.com/smartloli/p/11922639.html
幂等性: 主要解决单会话(producer宕机重启幂等性失效)
主要是引入了ProducerID和SequenceNumber来实现幂等性
,当producer发送消息给broker后等待返回ack,broker持久化数据后并返回ack,
ack返回途中假如遇到了网络IO、FullGC、OOm等异常时,ack返回失败,
producer会继续发送数据,如果没有幂等性,那么数据会被再次持久化,
所以在发送消息的时候会同步一个PID和SequenceNumber,
PID是生产者初始化的时候生成的,SequenceNumber是累加的变量,
第一次发送数据和PID、SequenceNumber=1,
producer等待一段时间没收到ack继续发送数据和PID、SequenceNmber=1,
borker接收到相同的SequenceNumber会直接返回ack。

事务: 主要解决多回话
Kafka中的事务与数据库的事务类似,Kafka中的事务属性是指一系列的Producer生产消息和消费消息提交Offsets的操作在一个事务中,即原子性操作。对应的结果是同时成功或者同时失败。

这里需要与数据库中事务进行区别,操作数据库中的事务指一系列的增删查改,对Kafka来说,操作事务是指一系列的生产和消费等原子性操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】C#中枚举类型与静态变量

C#中enum类型,相较于其他基本数据类型来说比较特殊,他的本质上是一堆整数组成的结构体,并且支持与整型的显式转化。 既然是枚举类型,那么也就是说enum中的变量是不可以轻易改变的,所以C#将枚举类型认定成了static变量…

java程序员_Java程序员工资为什么这么高?

众多行业中,程序员当然属于高薪职业。无论是国内还是国外,IT行业的程序员、工程师,甚至连码农都要比其他行业的从业者的收入高很多!尤其是作为IT界的“常青树”Java,原因是什么?01Java行业市场需求存在巨大…

innodb存储引擎 - 锁

MySQL技术内幕:Innodb存储引擎 (间隙锁目前理解的还不是很透彻,后面索引看完了再过来回顾一下间隙锁) 第六章 锁 一、Innodb存储引擎中的锁 1.锁是数据库区别于文件系统的一个关键特性, 2.两种标准的行级锁: 共享锁(S Lock)…

【转】深入浅出OOP(六): 理解C#的Enums

MSDN定义:枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。 例如,假设您必须定义一个变量,该变量的值表示一周中的一天。 该变量只能存储七个有意义的值。 若要定义这些值&#xff…

usb接口供电不足_AMD RX 6000 系列显卡配备USB-C 接口,支持外接供电

IT之家 10 月 29 日消息 根据 AMD 的官方信息,新发布的 RX 6000 系列显卡进一步增强了显示能力,配备了 HDMI 2.1 接口、DP 1.4 接口和 USB-C 接口。AMD 表示,AMD Radeon 6000 系列显卡全部搭载 HDMI 2.1 VRR 接口,超大带宽支持最高…

【转】VS2005键盘布局_快捷键大全(总结了一些记忆的口诀)

VS快捷键对提高生产力有莫大帮助,本文将所有快捷键进行了重新整理归类,便于记忆。有缺失,不足之处,还请大家指出,谢谢 1、窗口快捷键 (W代表Windows也就是窗口的意思) CtrlW,A: 命令窗口&#…

int与byte转换(四字节)

public byte[] intToByte(int res) {byte[] targets new byte[4];targets[0] (byte) (res & 0xff);// 最低位targets[1] (byte) ((res >> 8) & 0xff);// 次低位targets[2] (byte) ((res >> 16) & 0xff);// 次高位targets[3] (byte) (res >>…

mac securecrt程序无响应_如何重置mac上的系统管理控制器smc教程

虽然mac是一款十分高端的个人笔记本电脑,但是mac也会有出现故障的时候,比如风扇高速转动、键盘背光灯行为有些异常异常等等,那极有可能是你的系统管理控制器smc出现了问题,所以今天小编就来科普大家如何重置系统管理控制器smc。如…

bootstraptable treeGrid 懒加载_Java类加载机制及自定义加载器

一:ClassLoader类加载器,主要的作用是将class文件加载到jvm虚拟机中。jvm启动的时候,并不是一次性加载所有的类,而是根据需要动态去加载类,主要分为隐式加载和显示加载。隐式加载:程序代码中不通过调用Clas…

【转】WCF、WebAPI、WCFREST、WebService之间的区别

在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API。在.net平台下,你有很多的选择来构建一个HTTP Services。我分享一下我对Web Service、WCF以及Web API的看法。 Web Service 1、它…

Idea打可执行jar包

前些日子试了下idea打包,有些细节没太注意所以经常打包失败,要不然就是显示没有主清单属性,所以一直用eclipse打包,今天又重新捣鼓了一下,写下过程: 1. 先添加需要打jar包的主入口 第三步一定不要放在main…

正则表达式:获取一串字符串中,某个字符串到某个字符串之间的字符串,不包含左右,只取中间

表示取出"EventType":" 到 "之间的字符串&#xff0c;非贪婪匹配 (?<"EventType":").*?(?")如果后面"也换成字符串的话&#xff0c;就把?换成?<即可 例子如下&#xff1a; public String getPattern(String str,Str…

安卓系统挂载NTFS格式硬盘_Mac 读写 NTFS硬盘管理开源工具NTFSTool

NTFSTool是Mac OS 下一款开源的 NTFS 磁盘格式读写工具&#xff0c;基于Electron和VUE编写。遵守MIT开源协议。支持 NTFS 磁盘读写、挂载&#xff0c;退出、管理等功能。系统检测到插入移动硬盘后&#xff0c;会自动弹出 NTFSTool 界面&#xff0c;并自动挂载硬盘。安装NTFSToo…

【转】刨根究底字符编码之九——字符编码方案的演变与字节序

字符编码方案的演变与字节序 一、字符编码方案的演变 1. 根据前面的介绍&#xff0c;对于字符编码方案的演变&#xff0c;我们大致上可简单地划分为三个阶段&#xff1a; ① ASCII编码方案阶段 → ② ANSI编码方案阶段 → ③ Unicode/UCS编码方案阶段。 在第一个阶段的ASCII…

python人工智能_人工智能人才缺口千万!学Python抓住风口机会

前不久教育界的一个消息&#xff0c;引发了广泛的关注。今年9月&#xff0c;浙江三到九年级信息技术课将替换新教材&#xff0c;八年级将新增Python课程内容。新高一信息技术编程语言由VB替换为Python&#xff0c;大数据、人工智能、程序设计与算法按照教材规划五六年级开始接触…

【转】刨根究底字符编码之十——Unicode字符集的字符编码方式

一、字符编码方式CEF的选择 1. 由于Unicode字符集非常大(并且作为开放字符集还在不断扩展之中)&#xff0c;有些字符的编号(即码点值)需要两个或两个以上字节来表示&#xff0c;而要对这样的编号进行编码&#xff0c;也必须使用两个或两个以上字节。 比如&#xff0c;汉字“…

ip和端口正则表达式

ip&#xff1a;来自站长工具 ^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$MAC地址&#xff1a; ^[A-F0-9]{2}(-[A-F0-9]{2}){5}$|^[A-F0-9]{2}…

【转】刨根究底字符编码之十一——UTF-8编码方式与字节序标记BOM

一、UTF-8编码方式 1. 接下来将分别介绍Unicode字符集的三种编码方式&#xff1a;UTF-8、UTF-16、UTF-32。这里先介绍应用最为广泛的UTF-8。 为满足基于ASCII、面向字节的字符处理的需要&#xff0c;Unicode标准中定义了UTF-8编码方式。UTF-8应该是目前应用最广泛的一种Unic…

流水灯verilog实验原理_IC设计实例解析之“流水线技术”

源自&#xff1a;微信公众号 “数字芯片实验室”在IC设计中&#xff0c;如果寄存器之间的组合逻辑延时过大&#xff0c;可能会称为设计中的关键路径&#xff0c;从而降低整个电路的工作频率。如下图所示&#xff0c;是一个输入和输出寄存的算术计算逻辑。在set_input_delay和se…