什么是卡夫卡交易?

J.J*_*eam 8 apache-kafka kafka-transactions-api

Kafka 中的事务是什么意思?我当然知道普通的SQL事务:A transaction is a sequence of operations performed (using one or more SQL statements) on a database as a single logical unit of work

那么这是否意味着可以向 Kafka 发送一些内容,如果出现问题,它将被回滚(从分区中删除消息?)
并且是否可以在事务中写入不同的主题?

Mic*_*son 13

事务生产者允许将数据发送到多个分区,并保证所有这些写入要么被提交,要么被丢弃。这是通过将多个调用send()(以及可选的sendOffsetsToTransaction())分组到一个事务中来完成的。

一旦事务开始,您可以调用commitTransaction()abortTransaction()来完成它。

配置为的消费者isolation.level=read_committed将不会收到来自中止事务的消息。

有关更多详细信息,请查看文档中的消息传递语义部分