DAS_2023_1/shadaev_anton_lab_3
2023-12-23 19:13:13 +04:00
..
aggregator-api Add lab3 2023-12-23 18:39:38 +04:00
parser-api Add lab3 2023-12-23 18:39:38 +04:00
screenshots Add lab3 2023-12-23 18:39:38 +04:00
docker-compose.yaml Add lab3 2023-12-23 18:39:38 +04:00
nginx.conf Add lab3 2023-12-23 18:39:38 +04:00
pom.xml Add lab3 2023-12-23 18:39:38 +04:00
README.md Update 'shadaev_anton_lab_3/README.md' 2023-12-23 19:13:13 +04:00

Лабораторная работа №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-метод для создания вакансии

1.png

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

2.png

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

3.png

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

4.png

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

5.png

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

Демонстрация работы:

img_12.png

Сущности

Page -> Jobs (One-to-Many)

img.png

img_1.png

Dockerfile (aggregator-api)

img_2.png

Dockerfile (parser-api)

img_3.png

Docker compose

img_4.png

img_5.png

img_6.png

img_7.png

Nginx

img_8.png

Ссылка на видео:

https://youtu.be/oPLQxyRDlXw