DAS_2024_1/kurushina_ksenia_lab_3/README.md
2024-12-08 22:45:52 +04:00

2.9 KiB
Raw Blame History

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

Задание

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

Задачи: Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей. Реализация механизма синхронного обмена данными между микросервисами. Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера. Микросервисы: book_service — сервис, который управляет книгами. shelf_service — сервис, который обрабатывает данные о полках. Связь между микросервисами: Один документ (book) может иметь множество связанных предметов (shelf) (соотношение 1 ко многим). Как запустить проект: Для запуска приложения необходимо выполнить команду:

docker-compose up Описание работы: Для разработки микросервисов был выбран язык программирования Python.

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

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

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

ВИДЕО

https://cloud.mail.ru/public/Aijk/T8myacqz5