Kafka producer / consumer¶
Примеры3B · Общие setup/версии · Фактические проверки (архив рабочего проекта)
Тип материала: учебное практическое упражнение. Выполненные и непроверенные шаги указаны отдельно.
Команды выполняются из examples/processing после общего setup; $labPython — interpreter venv. Runtime и documented expected result различаются.
Зависимости и версии¶
Python3.12, confluent-kafka2.12.0, Kafka4.1 core Compose, SQLitestdlib. Код producer, consumer.
Команды запуска¶
& $labPython kafka_producer.py --mode basic
& $labPython kafka_consumer.py --group handbook-basic-v1 --database output/basic.sqlite --max-records 5
Тестовые данные¶
events.jsonl: пять records, четыре immutable event identities, один повтор e1 и поздний по порядку e4.
Ожидаемый результат¶
Producer сообщает5 application_records_acked. После fresh topic/DB consumer сообщает5 records_disposed и totals t7/EUR275,t8/EUR50. Global delivery order между partitions не фиксирован. Повторная application send не исчезает от topic retention.
Ограничения и статус проверки¶
Basic mode не включает protocol idempotence; business duplicate guard находится в SQLite handler. Broker/Python network integration NOT_RUN при недоступном Docker. CLI import smoke не подтверждает broker delivery.
Полный журнал ограничений (архив рабочего проекта) хранит NOT_RUN и failed runtime attempts; их нельзя считать выполненными integration tests.