# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами
Цель:
Изучение шаблона проектирования gateway, построения синхронного обмена между микросервисами и архитектурного стиля RESTful API.
Задачи:
Создать 2 микросервиса, реализующих CRUD на связанных сущностях. Реализовать механизм синхронного обмена сообщениями между микросервисами. Реализовать шлюз на основе прозрачного прокси-сервера nginx.
## Запуск:
Чтобы запустить контейнеры в docker, необходимо выполнить следующую команду: `docker-compose -f \ docker-compose.yml up -d`, где:
-f - путь до docker-compose.yml файла
-d - фоновый режим запуска
## Демонстрация работы программы
### Сервис Aggregator
POST-метод для создания вакансии

GET-метод для получения вакансии по id

GET-метод для получения списка вакансий

PUT-метод для обновления вакансии

DELETE-метод для удаления вакансии

### Метод, связывающий оба микросервиса
Демонстрация работы:

### Сущности
Page -> Jobs (One-to-Many)


### Dockerfile (aggregator-api)

### Dockerfile (parser-api)

### Docker compose




### Nginx

## Ссылка на видео:
https://youtu.be/oPLQxyRDlXw