DAS_2024_1/nikolaeva_yana_lab_3/README.md
2024-12-10 20:14:57 +04:00

3.0 KiB
Raw Blame History

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

Задание

Цель:

Изучение принципов проектирования с использованием паттерна шлюза, организации синхронной передачи данных между микросервисами и применения архитектурного стиля RESTful API.

Задачи:

  1. Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей.
  2. Реализация механизма синхронного обмена данными между микросервисами.
  3. Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера.

Микросервисы:

  1. service_books — сервис, который обрабатывает данные о книгах, связанных с абонементами.
  2. service_subscription — сервис, который управляет информацией об абонементах.

Связь между микросервисами:

Один абонемент может быть связан с несколькими книгами (отношение 1 ко многим).

Как запустить проект:

Для запуска приложения необходимо выполнить команду:

docker-compose up

Описание работы:

Для разработки микросервисов был выбран язык программирования Python.

Синхронный обмен данными

Сервис service_books отправляет HTTP-запросы к service_subscription при выполнении определенных операций CRUD. Это позволяет получать актуальную информацию о предметах, связанных с конкретными абонентами.

Docker Compose

Конфигурационный файл docker-compose.yml представляет собой многоконтейнерное приложение, которое включает в себя три сервиса: service_subscription, service_books и nginx. Функция маршрутизации возложена на сервер Nginx, который обрабатывает запросы и перенаправляет их на соответствующие микросервисы.

Nginx

Конфигурационный файл Nginx определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.

ВИДЕО

https://cloud.mail.ru/public/tior/GJxyvy8Rp