Skip to content

CineNetwork/Video-Intake-Service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

151 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •