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来说,操作事务是指一系列的生产和消费等原子性操作。
Kafka幂等性与事务相关推荐
- kafka幂等性实现
kafka幂等性实现 1.原理阶段 在 0.11.0.0 之前的版本中, 如果 producer 没有收到表明消息已经被提交的响应, 那么 producer 除了将消息重传之外别无选择,这里提供的是a ...
- 【kafka】Apache Kafka 中的事务
文章目录 1.概述 本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 1.概述 翻译:https://www.confluent.io/blog/tran ...
- Kafka producer的事务和幂等性
背景:kafka 客户端之producer API发送消息以及简单源码分析 从Kafka 0.11开始,KafkaProducer又支持两种模式:幂等生产者和事务生产者.幂等生产者加强了Kafka的交 ...
- Java面试题:kafka幂等性+事务
一面: hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移? Linux的共享内存如何实现,大概说了一下. Linux 中的用户模式和内核模式是什么含意? 在 Java 中 Lock ...
- kafka异步推送设置重试_一篇文章了解 Kafka 幂等性的原理及实践
01 幂等性如此重要 Kafka作为分布式MQ,大量用于分布式系统中,如消息推送系统.业务平台系统(如结算平台),就拿结算来说,业务方作为上游把数据打到结算平台,如果一份数据被计算.处理了多次,产生的 ...
- CC00073.kafka——|Hadoopkafka.V58|——|kafka.v58|稳定性|事务操作|
一.事务操作 ### --- 事务操作~~~ # 在Kafka事务中,一个原子性操作,根据操作类型可以分为3种情况.情况如下: ~~~ 只有Producer生产消息,这种场景需要事务的介入: ~~~ ...
- 【Kafka】Kafka幂等性原理及实现剖析
1.概述 转载并且补充:想看原文的请点击 https://www.cnblogs.com/smartloli/p/11922639.html 最近和一些同学交流的时候反馈说,在面试Kafka时,被问到 ...
- kafka实现分布式事务解决方案
分布式事务 概念: 分布式事务就是指事务的参与者.支持事务的服务器.资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上.以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成, ...
- kafka幂等性面试题,最新Java高级面试题汇
前言 数据库相关的面试题早已成为了一线互联网大厂面试的家常菜,如果你对数据库不太熟悉,我劝你不要轻易面试大厂.那么,为什么数据库成了大厂面试的家常菜呢?主要原因当然还是海量数据. 无论对于刚入行的小白 ...
最新文章
- ORB特征提取算法分析与实现,算法分解
- 在2019年,如何成为更好的Node.js开发者?
- HDU1159(dp最长公共子序列)
- 新安装和已安装nginx如何添加未编译安装模块/补丁
- nginx php post限制,nginx + php 跨域问题,GET可以跨域成功,POST失败
- spring mvc注解之@RequestBody和@RequestParm
- java 合成mp3_java如何把文本合成音频格式(MP3)
- php传值到模板,thinkphp模板传值
- C# 利用SQLite对.DB和.logdb加密和解密和SQLite创建数据库
- ORACLE ORA-00600 [17059][]错误的排除
- 深度学习2-keras模型训练
- JSP — 知识总结篇《I》【基础语法】
- 花匠(NOIP2013)(神奇纯模拟)
- Listary基本操作
- python变量循环写入txt文件_Python中将变量按行写入txt文本中
- 【现代信号处理】 15 - 谱分析基础和周期图谱分析
- 浅谈计算机领域及职业憧憬
- 【转】刀锋一样的眼神
- 常用数字电路模块:边沿检测电路
- “如果有借鉴意义的话” —— 从上帝视角复盘Offer选择
热门文章
- [每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure........................................A20...
- 基于xml技术的操作
- C语言STATIC用法
- 分享21个丰富多彩的 HTML5 小游戏
- 【数据结构与算法】图
- 解不等式之代数和不等式
- 华南师范大学计算机学院广东录取,华南师范大学2020年广东省各批次分专业录取分数统计(含位次)...
- 仿苹果涂鸦软件_这些iPhone自带软件,学会一个少装十几个APP,16G手机也够用
- mysql使用jtable_jtable 的简单使用
- 7-2 地下迷宫探索 (30 分)(C语言实现)