DAS_2024_1/alkin_ivan_lab_3/README.md
2024-12-12 22:44:53 +04:00

2.8 KiB
Raw Blame History

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

Задание

Цель

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

Основные задачи

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

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

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

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

  • Один герой (hero) может иметь множество связанных предметов (items) (соотношение 1:многие).

Инструкция по запуску

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

docker-compose up

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

Разработка микросервисов

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

Синхронное взаимодействие

hero_service обращается к item_service через HTTP-запросы для выполнения операций CRUD. Это позволяет получать актуальные данные о предметах, связанных с героями.

Docker Compose

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

Nginx

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

Видеоматериал

Подробнее ознакомиться с проектом можно в видео:
https://vkvideo.ru/video150882239_456240342