.. | ||
task_service | ||
teacher_service | ||
.gitignore | ||
docker-compose.yml | ||
nginx.conf | ||
readme.md | ||
requirements.txt |
Лабораторная работа №3
Описание
Были использованы следующие сущности:
- Учитель. Поля: email и ФИО
- Задание. Поля: название, предмет и id учителя
Сущности связаны связью один ко многим. У одного учителя может быть несколько заданий, у задания только один учитель.
Для каждой сущности был написан отдельный сервис.
Код каждого сервиса представляет собой полноценное API для работы с задачами и учителями. Они включают основные операции CRUD (создание, чтение, обновление, удаление). Дополнительно можно вывести задачу с полной информацией об учителе.
В качестве хранилища данных использовалась оперативная память приложения.
Запросы к сервисам проксирует шлюз на основе Nginx. Для этого перед запуском nginx был описан конфигурационный файл nginx.conf, в котором описан прослушиваемый порт и название сервера (в блоке server), маршруты до микросервисов и параметры проксирования (в блоке location).
Конфигурация Nginx направлена на организацию и упрощение работы с микросервисами.
Тестирование производится через расширение RestMan.
Как запустить это?
Для запуска данной конфигурации Docker Compose выполните следующие шаги:
- Открыть терминал и перейти в директорию, где находится docker-compose.yml.
- Выполнить команду
docker compose up --build
- Дождаться, пока Docker Compose запустит все контейнеры.
Видео
Работоспособность представлена на видео.