在 kafka 写入失败时中止 mongo 事务
Abort mongo transaction on kafka write failure
我有一个示例 Spring 引导应用程序使用 Spring 的 MongoRepository 将文档保存到 MongoDB。之后,我向 Kafka 主题写了一条消息。
我想要的是在Kafka写失败的时候回滚MongoDB事务
除了 XA 交易,我还有其他选择吗?
Kafka 不支持 XA 事务。
您可以将 ChainedKafkaTransactionManager
与 mongo tm 和 KafkaTransactionManager
(按此顺序)一起使用;如果 Kafka 事务提交失败,mongo 事务将回滚。
参见Transactions and the Chained Transaction Manager。
我有一个示例 Spring 引导应用程序使用 Spring 的 MongoRepository 将文档保存到 MongoDB。之后,我向 Kafka 主题写了一条消息。
我想要的是在Kafka写失败的时候回滚MongoDB事务
除了 XA 交易,我还有其他选择吗?
Kafka 不支持 XA 事务。
您可以将 ChainedKafkaTransactionManager
与 mongo tm 和 KafkaTransactionManager
(按此顺序)一起使用;如果 Kafka 事务提交失败,mongo 事务将回滚。
参见Transactions and the Chained Transaction Manager。