Kafka 事物

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

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

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

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

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

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

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

相关推荐
szephyr12 小时前
消息队列入门:RabbitMQ 和 Kafka 到底怎么选,什么时候不该用
后端·架构·kafka·消息队列·rabbitmq
A.说学逗唱的Coke2 天前
【大模型专题】别再用 HTTP 直连 Agent 了:用 Kafka 承载 A2A 协议,从 PoC 走到生产
人工智能·kafka·a2a
用户531397318172 天前
[Kafka源码揭秘] 消息写入全链路:网络IO与请求入队
kafka·消息队列
swordbob2 天前
一个 Partition就是一个年级,一个消费者组占用1年级1班,另一个消费者组占用1年级2班,座位号(offset)可以相同,但班级号不同?
kafka
香吧香2 天前
Kafka 三节点集群:只订阅一个 broker 会丢消息吗?能用 VIP订阅 吗?
kafka
雾隐隐o2 天前
Kafka 生产者消息丢失:ACK、重试与可靠发送
kafka
heimeiyingwang2 天前
【中台·技术篇】消息队列中台:Kafka/RocketMQ 统一管理与多租户隔离
kafka·rocketmq·中台
程序员天天困3 天前
Kafka 接入 AI 的三条路线:MCP 提案、会话记忆与实时上下文
大数据·后端·kafka
hey you~4 天前
云客服多渠道统一接入,消息队列技术实现方案
kafka·消息队列·rocketmq·系统集成·云客服·多渠道接入·接口对接
雾隐隐o4 天前
Kafka 消费者消息丢失:Offset 原理与解决方案
kafka