Skip to content

Latest commit

 

History

History
144 lines (136 loc) · 5.67 KB

README.md

File metadata and controls

144 lines (136 loc) · 5.67 KB

Botify

Сервис рекомендаций реализован как приложение на Flask. Это приложение умеет обрабатывать запросы по REST API. В качестве in-memory кэша используется Redis. В качестве load balancer используется nginx Приложение пишет лог событий в json в папку /app/log/

Архитектура сервиса botify

Инструкция

  1. Устанавливаем docker
  2. Собираем образы и запускаем контейнеры (2 рекомендера в параллель)
    docker-compose up -d --build --force-recreate --scale recommender=N
    
  3. Смотрим логи рекомендера
    docker logs botify-recommender-n
    
  4. Останавливаем контейнеры
    docker-compose stop
    
  5. Модифицируем код в этом модуле
  6. Повторяем шаги 2-4, пока не достигнем поставленной цели

Полезные команды

Проверяем, что сервис жив

curl http://localhost:5001/

Запрашиваем информацию по треку

curl http://localhost:5001/track/42

Запрашиваем следующий трек

curl -H "Content-Type: application/json" -X POST -d '{"track":10,"time":0.3}'  http://localhost:5001/next/1

Завершаем пользовательскую сессию

curl -H "Content-Type: application/json" -X POST -d '{"track":10,"time":0.3}'  http://localhost:5001/last/1

Скачиваем логи пользовательских сессии с контейнера

docker cp botify-recommender-n:/app/log/ /tmp/

Скачиваем логи пользовательских сессий со всех контейнеров

python dataclient.py --recommender N log2local ~/Desktop/data

Мониторим загрузку хостов

docker stats botify-recommender-1 botify-nginx-1 redis-container