2.8 KiB
Лабораторная работа №3: REST API, шлюз и синхронный обмен данными между микросервисами
Задание
Цель
Изучение принципов проектирования на основе паттерна шлюза, организации синхронного взаимодействия микросервисов и использования RESTful API.
Основные задачи
- Разработка двух микросервисов с поддержкой CRUD-операций для связанных сущностей.
- Организация синхронного обмена данными между микросервисами.
- Настройка шлюза на базе Nginx, выступающего в роли прозрачного прокси-сервера.
Микросервисы
- hero_service — микросервис для управления информацией о героях.
- 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