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