说一下 Kafka 中关于事务消息的实现?

面试

  1. 事务开启:当生产者开始一个事务时,它会向 Kafka 集群中的事务协调者(通常是 Broker 的一部分)发送一个 请求。事务协调者将这个事务记录到专门的事务日志中。
  2. 消息发送:生产者随后可以发送一系列消息,这些消息会被标记为事务的一部分。与 RocketMQ 不同,Kafka 并不会让这些消息立即对消费者可见;相反,它们会被暂时隔离。
  3. 预提交:当生产者完成了所有的消息发送后,它可以向事务协调者发送一个预提交请求。事务协调者会在事务日 志中标记该事务的状态为预提交,并通知相关分区。
  4. 事务提交/回滚:生产者接着发送最终的提交或回滚请求给事务协调者。如果选择提交,协调者会完成两阶段提 交过程: •第一阶段:将事务状态更新为预提交,并将此更改写入事务日志。 • 第二阶段:向所有参与事务的分区发送一条特殊的控制消息,指示事务已经提交。消费者只有在看到这条控 制消息后才会消费属于该事务的消息。
  5. 事务结束:一旦提交过程完成,事务协调者会在事务日志中记录事务的最终状态,表明事务已经成功结束或者被 回滚。
相关推荐
剑胆琴心静水深流6 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm
xiamo@moment10 小时前
kafka学习笔记-概念总集
运维·kafka
KAIWEILIUCC10 小时前
Ray:高性能、易扩展的Python分布式计算框架
分布式·llm
一路向北finish14 小时前
《CentOS 7 搭建 Hadoop 3.3.6 分布式集群:NFS 共享方案完整实操》
linux·运维·hadoop·分布式·centos
天涯明月199314 小时前
Ray 架构解析——以动态任务图统一 AI 计算的分布式框架
大数据·人工智能·分布式·架构·ray
小张同学a.16 小时前
MooseFS 分布式存储实战指南:部署、运维与 Pacemaker+SBD 高可用落地
linux·运维·分布式·pacemaker·moosefs·sbd
BYSJMG17 小时前
大数据毕业设计选题方向|【基于大数据的燃油消耗数据可视化与分析】Hadoop+PySpark+FP-Growth
大数据·hadoop·分布式·信息可视化·数据分析·课程设计
NJCloud1 天前
MooseFS 分布式存储部署与高可用架构实践
linux·运维·分布式·架构
zcmodeltech1 天前
钢铁冶金沙盘模型控制系统设计与实现:高炉-连铸-热轧多工序联动方案
分布式·stm32·单片机·嵌入式硬件·交互
肠畔码农2 天前
深度解密 Redis 分布式锁:从单机原子语义到集群架构博弈
redis·分布式·架构