Итоговый проект первого модуля (Настройка кластера и реализация продюсера с двумя консьюмерами).
- Клонировать репозиторий
- Создать виртуальное окружение
python -m venv venv
- Активировать виртуальное окружение
venv\Scripts\Activate.ps1
- Установить зависимости
pip install -r requirements.txt
- Запустить Kafka в Docker
docker-compose up -d
- Подключиться к контейнеру и создать топик
kafka-topics.sh --create --topic messages --bootstrap-server localhost:9092 --partitions 3 --replication-factor 2
# запуск producer
python producer.py
# запуск consumer с pull-моделью
python consumer_pull.py
# запуск consumer с push-моделью
python consumer_push.py
После запуска можно заметить что продюсер генерирует сообщения каждые 5 сек, консьюмер с моделью push сразу же забирает сгенерированные сообщения, а консьюмер с моделью pull собирает по несколько сообщений каждые 30 сек.