2023-12-04 18:24:11 +04:00
|
|
|
|
# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
Изучение шаблона проектирования gateway, построения синхронного обмена между микросервисами и архитектурного стиля RESTful API.
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
Создать два микросервиса.
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
Каждый сервис реализует CRUD-операции: список записей, подробности конкретной записи, создание, удаление и изменение записи.
|
|
|
|
|
В качестве хранилища данных может выступать оперативная память приложения или база данных.
|
|
|
|
|
Сущности необходимо подобрать по следующим критериям:
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
Они должны быть связаны с предполагаемой темой диплома.
|
|
|
|
|
Они должны быть связаны как "1-ко-многим".
|
|
|
|
|
|
|
|
|
|
# Задачи
|
|
|
|
|
|
|
|
|
|
* Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
|
|
|
|
|
* Реализовать механизм синхронного обмена сообщениями между микросервисами.
|
|
|
|
|
* Реализовать шлюз на основе прозрачного прокси-сервера nginx.
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
|
|
|
|
# Запуск
|
|
|
|
|
|
|
|
|
|
Командой в консоли проекта "docker-compose up -d"
|
|
|
|
|
|
|
|
|
|
# Описание работы:
|
2023-12-04 18:24:11 +04:00
|
|
|
|
Развернули два приложения
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
1. Сервис с врачами:
|
|
|
|
|
- доступ на http://localhost:5000/
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
2. Сервис с пациентами:
|
|
|
|
|
- доступ на http://localhost:5001/
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
2023-12-04 18:24:11 +04:00
|
|
|
|
Сервисы связываются друг с другом через ссылку и библиотеку requests
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<div>Старт сервисов</div>
|
2023-12-04 18:24:11 +04:00
|
|
|
|
<img src="screens/img1.png" width="650" title="Сервисы">
|
2023-11-12 12:05:59 +04:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2023-12-04 18:24:11 +04:00
|
|
|
|
<div>Сервис врачей</div>
|
|
|
|
|
<img src="screens/img2.png" width="650" title="Сервис врачей">
|
2023-11-12 12:05:59 +04:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2023-12-04 18:24:11 +04:00
|
|
|
|
<div>Сервис пациентов</div>
|
|
|
|
|
<img src="screens/img3.png" width="650" title="Сервис пациентов">
|
2023-11-12 12:05:59 +04:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2023-12-04 18:24:11 +04:00
|
|
|
|
<div>Связь сервисов через библиотеку requests</div>
|
|
|
|
|
<img src="screens/img4.png" width="650" title="Связь сервисов">
|
2023-11-12 12:05:59 +04:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
# Ссылка на видео
|
2023-12-04 18:24:11 +04:00
|
|
|
|
https://disk.yandex.ru/i/3o4aLuqp1EpbJg
|
2023-11-12 12:05:59 +04:00
|
|
|
|
|