Перейти к содержанию

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.