refactor(generator): история batch в Kafka вместо ClickHouse

- Зачем:
  - ревью rev5: ClickHouse-интеграция была проблемной (порт 9000 native vs HTTP,
    неработающий fallback, отсутствие DDL для базы meta)
  - архитектурно чище: генератор остаётся pure Kafka producer,
    история доступна для аналитики через стандартный ingestion
- Что:
  - удален ClickHouseBatchHistory, clickhouse-connect зависимость
  - добавлен KafkaBatchHistory с записью в топик generator_batch_history
  - добавлен BatchRecord.to_dict() для JSON-сериализации
  - добавлен рабочий fallback: Kafka → InMemory при недоступности
  - удален pytest-asyncio (не использовался)
  - добавлены тесты test_kafka_history.py (15 тестов) и test_service.py (6 тестов)
  - обновлена документация: топик вместо таблицы ClickHouse
- Проверка:
  - make generator-test: 44/44 тестов пройдено
  - docker-compose валиден, генератор не зависит от clickhouse
This commit is contained in:
2026-06-09 17:27:16 +03:00
committed by Dmitry Dementiev
parent 36ecbc62b1
commit 731d991f94
9 changed files with 483 additions and 145 deletions
-4
View File
@@ -1,15 +1,11 @@
# Kafka клиент
kafka-python==2.0.5
# ClickHouse драйвер (для истории batch)
clickhouse-connect==0.8.0
# Prometheus метрики
prometheus-client==0.21.1
# Тестирование
pytest==8.3.4
pytest-asyncio==0.25.3
# Утилиты
python-json-logger==2.0.7