【发布时间】:2019-05-04 22:23:57
【问题描述】:
我正在尝试使用 Kafka-Python 编写一个消费者,以确保完全一次的语义。分区中的消息是使用事务感知生产者生成的。我从 Kafka 文档中读到,我应该将 isolation_level 指定为 read_committed,因此它只会读取已提交的消息。问题是我在 Python 客户端的文档中没有看到关于如何指定这个isolation_level 的任何地方。关于如何让我的消费者只阅读已提交的消息的任何想法?
预期结果:只获得交易提交的消息 实际结果:消费者甚至会读取看起来像这样的中止消息
ConsumerRecord(topic='tweets', partition=0, offset=504, timestamp=1557007360598, timestamp_type=0, key=b'\x00\x00\x00\x01', value='"\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000"', checksum=None, serialized_key_size=4, serialized_value_size=6)
【问题讨论】:
标签: apache-kafka kafka-consumer-api kafka-python