Kafka幂等与事务写

本文详细介绍了Kafka如何保证幂等性,包括幂等的含义、Kafka幂等的实现机制及限制。同时,文章阐述了Kafka的事务特性,如何保证原子写操作、拒绝僵尸实例以及读事务消息,以及事务的执行流程和一些关键细节。
摘要由CSDN通过智能技术生成

一、kafka如何保证幂等

1.幂等的含义

  • 在数学上的定义 在这里插入图片描述
    一元:比如绝对值运算 abs(a) = abs(abs(a)) 就是幂等性函数
    二元:比如求大值函数 max(x,x) =x 就是幂等性函数

  • 转换到程序上
    我们常可以在网络上看到类似如下的定义:

    幂等性是指重复使用同样的参数调用同一方法时总能获得同样的结果。比如对同一资源的GET请求访问结果都是一样的。

    对于这个定义,我觉得不是很准确,对于幂等我们应该聚焦的不是多次执行得到同样的结果,而是多次执行带来的影响是不变的,可以看下面的sql示例。

SELECT col1 FROM tab1 WHER col2=2 
--无论执行多少次都不会改变状态,是天然的幂等。
UPDATE tab1 SET col1=1 WHERE col2=2 
--无论执行成功多少次状态都是一致的,因此也是幂等操作。
UPDATE tab1 SET col1=col1+1 WHERE col2=2 
--每次执行的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值