Я пытаюсь написать потребителя, использующего 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)