Skip to content

Repository files navigation

# VIDEO-INTAKE-SERVICE
 ____ ___ _ _ _____ _ _ _____ _____ __ __ ____ ____ _ __ / ___| |_ _| | \ | | | ____| | \ | | | ____| |_ _| \ \ / / / __ \ | _ \ | |/ / | | | | | \| | | _| | \| | | _| | | \ \ /\ / / | | | | | |_) | | ' / | |___ | | | |\ | | |___ | |\ | | |___ | | \ V V / | |__| | | _ < | . \ \____| |___| |_| \_| |_____| |_| \_| |_____| |_| \_/\_/ \____/ |_| \_\ |_|\_\ 

📦 Описание

VIDEO-INTAKE-SERVICE — микросервис, предназначенный для общения и принятия видео-контента от клиента, отправки kafka-сообщений от лица Producer.

📁 Структура

  • cmd/video-intake — точка входа в приложение.
  • internal/ — основная бизнес-логика.
  • .env.example — пример конфигурационного файла.
  • Makefile — набор полезных команд для разработки и запуска.

⚙️ Подготовка к запуску

1. Установите зависимости

  • Убедитесь, что установлены:
    • docker и docker compose
    • make
    • Go >= 1.24.4

2. Создайте .env файл

Создайте .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

  • Kafka UI доступен по адресу: http://localhost:8080
  • Логин: admin Пароль: pass
  • По умолчанию подключение настроено к кластеру с адресом брокера kafka:9092.
  • В интерфейсе вы можете:
    • Просматривать список топиков (например, test-topic)
    • Смотреть сообщения, которые приходят в топик
    • Создавать и удалять топики
    • Отправлять тестовые сообщения вручную

Пример просмотра сообщений

  1. Откройте http://localhost:8080 в браузере.
  2. Выберите кластер video-intake (или другой, если настроено иначе).
  3. Перейдите в раздел "Topics" и выберите нужный топик (например, test-topic).
  4. В разделе "Messages" вы увидите все сообщения, отправленные через API.

Пример запроса для отправки сообщения в брокер сообщений Kafka

curl -X POST http://localhost:4325/api/v1/videos \
-H "Content-Type: text/plain" \
-d "Hello Kafka!"

🧾 Лицензия

Проект является частью внутренней инфраструктуры и не подлежит открытому распространению.


About

Язык микросервиса - Go.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages