33 lines
2.7 KiB
Markdown
33 lines
2.7 KiB
Markdown
# Лабораторная работа №3 - REST API, шлюз и синхронный обмен данными между микросервисами
|
||
|
||
## Задание
|
||
|
||
### Цель:
|
||
Изучение принципов проектирования с использованием паттерна шлюза, организации синхронной передачи данных между микросервисами и применения архитектурного стиля RESTful API.
|
||
|
||
### Задачи:
|
||
1. Создание двух микросервисов, которые реализуют операции CRUD для связанных сущностей.
|
||
2. Реализация механизма синхронного обмена данными между микросервисами.
|
||
3. Настройка шлюза на базе Nginx в качестве прозрачного прокси-сервера.
|
||
|
||
### Микросервисы:
|
||
1. book_service — сервис, который управляет информацией о книгах.
|
||
2. subscription_service — сервис, который обрабатывает данные о подспиках, которым принадлежащих книги.
|
||
|
||
## Описание работы:
|
||
|
||
Для разработки микросервисов был выбран язык программирования Python.
|
||
|
||
### Синхронный обмен данными
|
||
Сервис book_service отправляет HTTP-запросы к subscription_service при выполнении определенных операций CRUD. Это позволяет получать актуальную информацию о предметах, связанных с конкретными героями.
|
||
|
||
### Docker Compose
|
||
Конфигурационный файл docker-compose.yml представляет собой многоконтейнерное приложение, которое включает в себя три сервиса: book_service, subscription_service и nginx. Функция маршрутизации возложена на сервер Nginx, который обрабатывает запросы и перенаправляет их на соответствующие микросервисы.
|
||
|
||
### Nginx
|
||
Конфигурационный файл Nginx определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.
|
||
|
||
## Видео ВК
|
||
|
||
[Ссылка на демонстрацию работы программы](https://vk.com/video547368103_456239604?list=ln-6CV0kolsFgPBdGrKz7)
|