只有Producer生产消息:
见生产者、消费者实战代码。
消费消息和生产消息并存:
这个是事务场景中最常用的情况,就是我们常说的“consume-transform-produce ”模式; 也应用到kafka stream应用中,从一个topic读取数据,处理数据,写回另一个 topic场景中。
见生产者、消费者实战代码。
只有消费者消费消息:
这种操作其实没有什么意义,跟使用手动提交效果一样,无法保证消费消息操作和提交偏移量操作在一个事务。
kafka事务属性
是指一系列的生产者生产消息和消费者提交偏移量的操作在一个事务,或者说是是一个原子操作),同时成功或者失败。
事务属性实现前提是幂等性,即在配置事务属性transaction id时,必须还得配置幂等性
幂等性引入了Porducer ID
事务属性引入了Transaction ID属性。
enable.idempotence = true,transactional.id 不设置: 只支持幂等性。
enable.idempotence = true,transactional.id 设置: 支持事务属性和幂等性
enable.idempotence = false,transactional.id 不设置: 没有事务属性和幂等性的kafka
enable.idempotence = false,transactional.id 设置: 无法获取到PID,此时会报错
有了transactio