Kafka中isolation.level=read_uncommitted两种解释冲突应采信哪一种?
Kafka
isolation.level=read_uncommitted 配置疑问解答 核心结论
Apache Kafka官方文档的描述是准确的,Confluent官方博客的解释存在混淆,其描述的实际是isolation.level=read_committed的行为。
两种隔离级别的标准行为
read_uncommitted(默认配置):消费者不会校验消息所属事务的状态,consumer.poll()会返回所有已经写入分区的消息,包括未结束事务的消息、后续被标记为中止的事务消息;非事务消息在两种隔离级别下都会无条件返回,完全符合Apache官方文档的描述。read_committed:消费者只会返回非事务消息、以及所属事务已经提交的消息。针对未结束的事务消息会暂存,直到事务明确提交/中止后再返回对应提交的事务消息、过滤已中止事务的消息,这才是Confluent博客中误归类到read_uncommitted下的特性。
补充说明
Confluent博客的内容大概率是笔误,日常配置使用以Apache Kafka官方的配置文档为准即可。
内容的提问来源于stack exchange,提问作者Minh Trần
相关产品推荐
相关产品推荐

