DAS_2024_1/tukaeva_alfiya_lab_3
2024-10-11 01:01:25 +04:00
..
book_service tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
theme_service tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
.gitignore tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
docker-compose.yml tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
lab_3.1.png tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
nginx.conf tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
README.md tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00
requirements.txt tukaeva_alfiya_lab_3 is ready 2024-10-11 01:01:25 +04:00

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

Задание

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

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

В качестве предметной области использовался пример 19-го варианта. Имеются 2 сущности: одна сущность - книга в библиотеке, вторая - тематика. Поля тематики: УИД (уникальный идентификатор) тематики, номер, название. Поля книги: УИД книги, Автор, Название, Год издания, УИД тематики, к которой принадлежит книга.

Запуск ЛР:

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

docker compose up --build

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

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

Запускаем Postman и запускаем следующие запросы:

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

Theme сервис:

GET /themes — получить все темы POST /themes — создать новую тему GET /themes/{id} — получить тему по ID GET /themes/with-books/{themeId} — получить все книги, которые относятся к themeId PUT /themes/{id} — обновить тему по ID DELETE /themes/{id} — удалить тему по ID

Book сервис:

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

Видео

https://vk.com/video230744264_456239105?list=ln-xiFZDAJoFyAsG9Dg2l