# VIDEO-INTAKE-SERVICE
____ ___ _ _ _____ _ _ _____ _____ __ __ ____ ____ _ __
/ ___| |_ _| | \ | | | ____| | \ | | | ____| |_ _| \ \ / / / __ \ | _ \ | |/ /
| | | | | \| | | _| | \| | | _| | | \ \ /\ / / | | | | | |_) | | ' /
| |___ | | | |\ | | |___ | |\ | | |___ | | \ V V / | |__| | | _ < | . \
\____| |___| |_| \_| |_____| |_| \_| |_____| |_| \_/\_/ \____/ |_| \_\ |_|\_\
VIDEO-INTAKE-SERVICE — микросервис, предназначенный для общения и принятия видео-контента от клиента, отправки kafka-сообщений от лица Producer.
cmd/video-intake— точка входа в приложение.internal/— основная бизнес-логика..env.example— пример конфигурационного файла.Makefile— набор полезных команд для разработки и запуска.
- Убедитесь, что установлены:
dockerиdocker composemakeGo >= 1.24.4
Создайте .env файл в корне проекта на основе шаблона:
cp .env.example .envЗаполните переменные в соответствии с вашей конфигурацией.
Рекомендуется при первом запуске воспользоваться полной перезагрузкой контейнеров:
make rebootЭта команда остановит и удалит все старые контейнеры, пересоберёт образы и запустит сервис с нуля.
Для запуска проекта (с пересборкой) используйте:
make runКоманда make run полностью безопасна и может использоваться как для первого запуска, так и для повторного — она автоматически пересобирает проект и запускает его.
make build # Собрать контейнер без запуска
make reboot # Полное обнуления информации в докер-контейнерах, нужно например при изменении версии образа какого-нибудь сервиса.После запуска убедитесь, что сервис работает. Для этого можно выполнить проверку health check или сделать запрос на ручку http://localhost:{PORT}/api/v1/videos/health.
- Kafka UI доступен по адресу: http://localhost:8080
- Логин: admin Пароль: pass
- По умолчанию подключение настроено к кластеру с адресом брокера
kafka:9092. - В интерфейсе вы можете:
- Просматривать список топиков (например,
test-topic) - Смотреть сообщения, которые приходят в топик
- Создавать и удалять топики
- Отправлять тестовые сообщения вручную
- Просматривать список топиков (например,
- Откройте http://localhost:8080 в браузере.
- Выберите кластер
video-intake(или другой, если настроено иначе). - Перейдите в раздел "Topics" и выберите нужный топик (например,
test-topic). - В разделе "Messages" вы увидите все сообщения, отправленные через API.
curl -X POST http://localhost:4325/api/v1/videos \
-H "Content-Type: text/plain" \
-d "Hello Kafka!"Проект является частью внутренней инфраструктуры и не подлежит открытому распространению.