DAS_2023_1/antonov_dmitry_lab_3/README.md

55 lines
2.5 KiB
Markdown
Raw Normal View History

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