Kafka支持XA事务吗?

7
JDBC 事务和 Kafka 事务可以作为 XA 事务一起工作吗?Kafka 事务 API 是否支持 XA 事务?

不确定您的意思。Kafka没有JDBC驱动程序。 - OneCricketeer
我不是在询问kafka JDBC驱动程序。Kafka有自己的事务API-https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging。 - Vishal Pawar
是的,我知道。我的问题是,如果Kafka没有任何JDBC协议支持,那么JDBC事务会如何与Kafka配合工作。 - OneCricketeer
2
Kafka不需要支持JDBC协议。我的问题是,kafka是否提供对具有2阶段提交的XA事务的支持。JDBC只是一个参与者示例,它可以是支持XA事务的任何其他系统\平台。请参考-https://en.wikipedia.org/wiki/X/Open_XA。 - Vishal Pawar
3个回答

6

Kafka不支持XA事务。 Kafka将恰好一次性的负担委托给消息消费者。


3

看着"Unsupported Features"部分

https://docs.confluent.io/platform/current/clients/kafka-jms-client/index.html

Kafka不支持事务(包括XA和其他类型)。

生产者和消费者都需要像80年代那样手动编写事务管理器模板。

在Spring和微服务领域,有很多关于CAP理论下事务不可能、分布式事务是专有厂商锁定等的言论。这导致人们普遍认为事务只是数据库的事情,存在很多混淆。

但实际上,我们自从90年代初期就已经拥有了可互操作、标准化和开源的XA远程调用技术,包括数据库、消息服务等。

说实话,我不认为Kafka已经具备支持非平凡消息应用所需的基础功能,因此不适合在生产环境中使用。而且,性能似乎与增加云托管费用有关。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接