java—ApacheKafka能够处理事务吗?

s1ag04yj  于 2021-06-08  发布在  Kafka
关注(0)|答案(3)|浏览(233)

考虑到生产者能够处理事务(简而言之:回滚和提交),我们计划将kafka用作数据仓库中的核心组件。
在google kafka+事务时,我发现了很多关于kafka如何处理事务的理论想法,但目前我在javaapi中没有看到任何支持生产者提交和回滚的函数。
有没有人对交易和Kafka有过一些经验,能给我一个提示?

6qqygrtg

6qqygrtg1#

我认为您需要的基本上是kafka中的事务性消息传递,生产者能够创建会话(aka transactional session)并在会话中发送消息。因此,它可以选择提交/中止事务。
[来源]:详情请看维基

yhxst69z

yhxst69z2#

不;kafka不支持事务。
您可以确定消息已生成到分区,但一旦生成,就无法回滚该消息。
由于版本0.11.0,apache kafka支持事务:https://cwiki.apache.org/confluence/display/kafka/transactional+messaging+in+kafka

lbsnaicq

lbsnaicq3#

实际上,从上一个版本0.11.0.0开始,支持事务。请参见为Kafka制作人担保唯一的全球交易

相关问题