.. | ||
gateway | ||
service_books | ||
service_subscription | ||
docker-compose.yml | ||
README.md |
Лабораторная работа №3 - REST API, шлюз и синхронный обмен данными между микросервисами
Задание
Цель:
Изучение принципов проектирования с использованием паттерна шлюза, организации синхронной передачи данных между микросервисами и применения архитектурного стиля RESTful API.
Задачи:
- Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей.
- Реализация механизма синхронного обмена данными между микросервисами.
- Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера.
Микросервисы:
- service_books — сервис, который обрабатывает данные о книгах, связанных с абонементами.
- 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 определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.