DAS_2024_1/novopolcev_alexander_lab_3
2024-12-11 14:11:10 +04:00
..
hospital_service novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00
patient_service novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00
.gitignore novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00
docker-compose.yml novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00
nginx.conf novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00
README.md novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00
requirements.txt novopolcev_alexander_lab_3 is ready 2024-12-11 14:11:10 +04:00

Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами

Задание

  • Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
  • Реализовать механизм синхронного обмена сообщениями между микросервисами.
  • Реализовать шлюз на основе прозрачного прокси-сервера nginx.

Предметная область:

Имеются 2 сущности: одна сущность - больница, вторая - пациент, привязанный к этой больнице Поля больницы: УИД (уникальный идентификатор) больницы, название, адрес. Поля пациента: УИД пациента, имя, фамилия, телефон, УИД больницы, к которой привязан пациент.

Запуск ЛР:

Введем в терминале команду:

docker compose up --build

Эта команда сначала выполнит сборку, а затем запустит контейнеры.

Также нужно убедиться в том,что 80 порт свободен и тогда вся система запустится.

Для каждой сущности были реализованы CRUD-операции.

Patient сервис:

  • GET /patients — получить список всех пациентов
  • POST /patients — создать нового пациента
  • GET /patients/{id} — получить пациента по ID
  • PUT /patients/{id} — обновить пациента по ID
  • DELETE /patients/{id} — удалить пациента по ID

Hospital сервис:

  • GET /hospitals — получить все больницы
  • POST /hospitals — создать новую больницу
  • GET /hospitals/{id} — получить больницу по ID
  • PUT /hospitals/{id} — обновить больницу по ID
  • DELETE /hospitals/{id} — удалить больницу по ID

Видео

https://disk.yandex.ru/i/10ziaq_H6ltg5g