首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用压缩的主题中止Kafka事务

用压缩的主题中止Kafka事务
EN

Stack Overflow用户
提问于 2021-04-25 20:34:29
回答 1查看 135关注 0票数 0

我有一个用例,在这个用例中,我需要向单个事务中的3个不同主题发送3条消息。问题是其中一个主题是紧凑的,我对Kafka交易非常陌生,所以我不太确定事务取消是如何工作的。

我的问题是:如果事务失败或中止(应用程序崩溃、异常等),实际会发生什么?是否最终会从压缩主题的日志中删除中止事务的记录(比如空记录)?非压缩主题也是一样的吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-26 12:46:32

现在有点晚了,但根据我的经验,Kafka将消息保存在日志中,但使用特殊标记标记它们,这样使用read_committed隔离级别的用户就可以过滤掉它们,但是使用read_uncommitted的用户仍然会看到它们。这可能会导致像这样有趣的问题。

基于中止的消息在使用者级别被过滤的事实,我认为它们应该属于一般的压缩逻辑,如果在主题的后面有一个具有相同键的消息,那么它们就会被压缩,但是中止的消息不应该用相同的键覆盖最后提交的消息,因为这违反了Kafka为事务提供的保证。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67258025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档