.. | ||
book_service | ||
theme_service | ||
.gitignore | ||
docker-compose.yml | ||
nginx.conf | ||
README.md | ||
requirements.txt |
Лабораторная работа №3 - REST API, шлюз и синхронный обмен данными между микросервисами
Задание
- Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей.
- Реализация механизма синхронного обмена данными между микросервисами.
- Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера.
Микросервисы:
- theme_service — сервис, который управляет информацией о темах.
- book_service — сервис, который обрабатывает данные о книгах, принадлежащих темам.
Связь между микросервисами:
- Один документ (theme) может иметь множество связанных предметов (book) (соотношение 1 ко многим).
Как запустить проект:
Для запуска приложения необходимо выполнить команду:
docker-compose up
Описание работы:
Для разработки микросервисов был выбран язык программирования Python.
Синхронный обмен данными
Сервис theme_service
отправляет HTTP-запросы к book_service
при выполнении определенных операций CRUD. Это позволяет получать актуальную информацию о книгах, связанных с конкретными темами.
Docker Compose
Конфигурационный файл docker-compose.yml
представляет собой многоконтейнерное приложение, которое включает в себя три сервиса: theme_service
, book_service
и nginx
. Функция маршрутизации возложена на сервер Nginx, который обрабатывает запросы и перенаправляет их на соответствующие микросервисы.
Nginx
Конфигурационный файл Nginx определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.