DAS_2024_1/nikolaeva_yana_lab_3/README.md
2024-12-10 20:14:57 +04:00

43 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №3 - REST API, шлюз и синхронный обмен данными между микросервисами
## Задание
### Цель:
Изучение принципов проектирования с использованием паттерна шлюза, организации синхронной передачи данных между микросервисами и применения архитектурного стиля RESTful API.
### Задачи:
1. Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей.
2. Реализация механизма синхронного обмена данными между микросервисами.
3. Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера.
### Микросервисы:
1. **service_books** — сервис, который обрабатывает данные о книгах, связанных с абонементами.
2. **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 определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.
### ВИДЕО
https://cloud.mail.ru/public/tior/GJxyvy8Rp