Kafka 事物

幂等性是无法保证分区之间是生效的,但是有了事务可以解决跨分区写入消息,通过原子性。生产者给0分区发送消息失败了,失败了1分区就不需要发了。

下面是站在生产者的角度去做一个事务,可以将多条消息的生产放到一个事务当中,要么同时成功,要么同时失败。

幂等性+id同时打开才行。

将100条消息的发送放到一个事务当中。消息发送是键值对,第一个参数是topic名称,第二个参数是key,第三个参数是value。

在执行的过程当中如果没有异常就可以提交事务了,如果有异常就用try catch来做,这样会导致整个事务的失败,所以需要做一个灰姑娘的操作。

可以将100次的操作放到一个事务里面,如果在执行过程中出现了异常,这个时候直接去回滚到事务的起点来完成全部的撤销。这样就可以保证到原子性。

这就是生产者端的事务配置。

相关推荐
starzy19907 小时前
Kafka源码深度剖析:消息有异常是如何处理的
大数据·kafka
starzy199012 小时前
Kafka写数据入口:消息进了Broker之后交给谁
大数据·kafka
螺蛳粉 螺蛳粉14 小时前
CDH第七篇:CDH 集成 Kafka 实战:CSD + Parcel 组合拳,先装 ZooKeeper 是铁律
物联网·zookeeper·kafka·消息队列·parcel·cdh集成·csd
Flynn Liang2 天前
物联网时序数据乱序问题全链路治理:从设备到存储的五层实战(附 Flink/Kafka/IoTDB 配置级代码)
flink·kafka·iot·iotdb·emqx·乱序·时序数据
starzy19902 天前
Kafka响应发送:字节是怎么真正写回客户端的
大数据·kafka
阳光不锈@2 天前
三大主流消息队列架构设计思想剖析:从 RabbitMQ 到 RocketMQ 的改造实践
kafka·rabbitmq·rocketmq·rabbit改造rocket·去除rabbitmq·rabbitmq改造
ZealSinger3 天前
Boot4升后Kafka retry属性怎么改
kafka·retry·boot4·升级踩坑
starzy19903 天前
KafkaProducer 源码深度剖析:处理粘包问题的完美方案
大数据·kafka
MrWind灬3 天前
我给自己写了个 Kafka 桌面客户端:MrWindKafkaClient
kafka·pyqt
starzy19904 天前
KafkaProducer 源码深度剖析:与 Broker 建立连接
大数据·kafka