DAS_2024_1/haliullov_kamil_lab_3/README.md

36 lines
2.6 KiB
Markdown
Raw Normal View History

2024-12-29 12:02:48 +04:00
# Лабораторная работа №3 - REST API, шлюз и синхронный обмен данными между микросервисами
## Задание
1. Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей.
2. Реализация механизма синхронного обмена данными между микросервисами.
3. Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера.
### Микросервисы:
1. **theme_service** — сервис, который управляет информацией о темах.
2. **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 определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.
## ВИДЕО
https://disk.yandex.ru/i/cmY6ZnlH938Mpw