【问题标题】:Is there a way to specify the isolation level in Kafka-Python consumer API?有没有办法在 Kafka-Python 消费者 API 中指定隔离级别?
【发布时间】: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


    【解决方案1】:

    根据issuekafka-python 尚不支持isolation.level=read_committed

    【讨论】:

    • 好的。我意识到 AIOKafka 已经实现了doc。虽然异步并不真正适合我的应用程序,但我正在努力使其工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2021-06-29
    • 2017-09-13
    • 1970-01-01
    • 2015-07-24
    相关资源
    最近更新 更多