kafka-事务

1. 事务的5个API

java 复制代码
// 1初始化事务
void initTransactions();

// 2开启事务
void beginTransaction() throws ProducerFencedException;

// 3在事务内提交已经消费的偏移量(主要用于消费者)
void sendOffsetsToTransaction(Map<TopicPartition, OffsetAndMetadata> offsets,
                              String consumerGroupId) throws ProducerFencedException;

// 4提交事务
void commitTransaction() throws ProducerFencedException;

// 5放弃事务(类似于回滚事务的操作)
void abortTransaction() throws ProducerFencedException;

2. 幂等性和事务性的关系

事务属性实现前提是幂等性,即在配置事务属性transaction id时,必须还得配置幂等性;但是幂等性是可以独立使用的,不需要依赖事务属性。

  1. 幂等性引入了Porducer ID
  2. 事务属性引入了Transaction Id属性。

使用场景

  1. enable.idempotence = true,transactional.id不设置:只支持幂等性。
  2. enable.idempotence = true,transactional.id设置:支持事务属性和幂等性
  3. enable.idempotence = false,transactional.id不设置:没有事务属性和幂等性的kafka
  4. enable.idempotence = false,transactional.id设置:无法获取到PID,此时会报错

3. 参考

kafka幂等生产者及事务_51CTO博客_kafka事务

相关推荐
乐之者v2 小时前
Kafka 跨服数据同步
分布式·kafka
富士康质检员张全蛋3 小时前
Kafka 消息查找流程和消息读取流程
分布式·kafka
深蓝轨迹5 小时前
Kafka入门教程--帮你理清所有概念和细节
分布式·zookeeper·kafka
小尘要自信5 小时前
Kafka 从原理到实践:分区副本机制、生产消费可靠性、以及如何避开那些年踩过的坑
分布式·kafka
苍煜1 天前
Kafka vs RocketMQ 生产环境选型指南
分布式·kafka·rocketmq
_Evan_Yao2 天前
内存映射文件与零拷贝:Kafka、RocketMQ 飞升的秘密通道
分布式·kafka·rocketmq
小江的记录本3 天前
【Kafka核心】Kafka高性能的四大核心支柱:零拷贝、批量发送、页缓存、压缩
java·数据库·分布式·后端·缓存·kafka·rabbitmq
ezreal_pan3 天前
Docker部署Kafka持久化遇到的各种问题及解决方案
docker·容器·kafka
ErizJ4 天前
Kafka | 学习笔记
笔记·学习·kafka
小江的记录本5 天前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka