37 lines
2.4 KiB
Markdown
37 lines
2.4 KiB
Markdown
|
# Лабораторная работа №3
|
|||
|
|
|||
|
## Описание
|
|||
|
Были использованы следующие сущности:
|
|||
|
1. Учитель. Поля: email и ФИО
|
|||
|
2. Задание. Поля: название, предмет и id учителя
|
|||
|
|
|||
|
Сущности связаны связью один ко многим. У одного учителя может быть несколько заданий, у задания только один учитель.
|
|||
|
|
|||
|
Для каждой сущности был написан отдельный сервис.
|
|||
|
|
|||
|
Код каждого сервиса представляет собой полноценное API для работы с задачами и учителями.
|
|||
|
Они включают основные операции CRUD (создание, чтение, обновление, удаление). Дополнительно можно вывести задачу с полной информацией об учителе.
|
|||
|
|
|||
|
В качестве хранилища данных использовалась оперативная память приложения.
|
|||
|
|
|||
|
Запросы к сервисам проксирует шлюз на основе Nginx. Для этого перед запуском nginx был описан конфигурационный файл nginx.conf,
|
|||
|
в котором описан прослушиваемый порт и название сервера (в блоке server), маршруты до микросервисов и параметры проксирования (в блоке location).
|
|||
|
|
|||
|
Конфигурация Nginx направлена на организацию и упрощение работы с микросервисами.
|
|||
|
|
|||
|
Тестирование производится через расширение RestMan.
|
|||
|
|
|||
|
## Как запустить это?
|
|||
|
|
|||
|
Для запуска данной конфигурации Docker Compose выполните следующие шаги:
|
|||
|
|
|||
|
1. Открыть терминал и перейти в директорию, где находится docker-compose.yml.
|
|||
|
2. Выполнить команду
|
|||
|
```
|
|||
|
docker compose up --build
|
|||
|
```
|
|||
|
3. Дождаться, пока Docker Compose запустит все контейнеры.
|
|||
|
|
|||
|
|
|||
|
## Видео
|
|||
|
Работоспособность представлена на [видео](https://vk.com/video204968285_456240927).
|