Для запуска в докере можно выполнить (будет использован 8000 порт):
docker-compose up
И запросить адрес, например в curl
curl -v http://0.0.0.0:8000/?video=http://s1.origin-cluster/video/1488/xcg2djHckad.m3u8
Используются две переменные окружения:
CDN_HOST - строка с доменом CDN. Обязательно указать.
BALANCE_DISTRIBUTION - целое число запросов для кратного распределения оригинального сервера и CDN. По умолчанию 10. Т.е. 1 из 10 запросов перенаправляется на сервер оригиналов, а 9 на CDN.
Приложение на Sanic с логикой балансировки находится в
./balancer_app/app.py
Для разработки понадобится Python 3.7, зависимости в requirements.txt
.
Протестировать приложение можно установив зависимости из requirements-test.txt
.
И запустив в директории ./balancer_app
python -m pytest