forked from Alexey/DAS_2023_1
66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
|
# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами
|
|||
|
Цель:
|
|||
|
|
|||
|
Изучение шаблона проектирования gateway, построения синхронного обмена между микросервисами и архитектурного стиля RESTful API.
|
|||
|
|
|||
|
Задачи:
|
|||
|
|
|||
|
Создать 2 микросервиса, реализующих CRUD на связанных сущностях. Реализовать механизм синхронного обмена сообщениями между микросервисами. Реализовать шлюз на основе прозрачного прокси-сервера nginx.
|
|||
|
|
|||
|
## Демонстрация работы программы
|
|||
|
### Сервис Aggregator
|
|||
|
<u>POST-метод для создания вакансии</u>
|
|||
|
|
|||
|

|
|||
|
|
|||
|
<u>GET-метод для получения вакансии по id</u>
|
|||
|
|
|||
|

|
|||
|
|
|||
|
<u>GET-метод для получения списка вакансий</u>
|
|||
|
|
|||
|

|
|||
|
|
|||
|
<u>PUT-метод для обновления вакансии</u>
|
|||
|
|
|||
|

|
|||
|
|
|||
|
<u>DELETE-метод для удаления вакансии</u>
|
|||
|
|
|||
|

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

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

|
|||
|
|
|||
|

|
|||
|
|
|||
|
### Dockerfile (aggregator-api)
|
|||
|
|
|||
|

|
|||
|
|
|||
|
### Dockerfile (parser-api)
|
|||
|
|
|||
|

|
|||
|
|
|||
|
### Docker compose
|
|||
|
|
|||
|

|
|||
|
|
|||
|

|
|||
|
|
|||
|

|
|||
|
|
|||
|

|
|||
|
|
|||
|
### Nginx
|
|||
|

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