DAS_2024_1/vaksman_valeria_lab_3/README.md
2024-10-11 19:32:26 +04:00

64 lines
2.4 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, Gateway и синхронный обмен между микросервисами
## Задание
#### Цель:
Изучение шаблона проектирования gateway, построения синхронного обмена между микросервисами и архитектурного стиля RESTful API.
#### Задачи:
* Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
* Реализовать механизм синхронного обмена сообщениями между микросервисами.
* Реализовать шлюз на основе прозрачного прокси-сервера nginx.
### Сервисы:
 1. ```product_server``` - сервис, отвечающий за продукты
 2. ```document_server``` - сервис, отвечающий за документы, которые содержат в себе продукты
#### Связь между сервисами:
```document (single) <- product (many)```
## Как запустить программу:
```
docker compose up
```
## Файловая иерархия
```
Лаба 3/
|-- document_server/
| |-- Dockerfile
| |-- document_server.py
|-- product_server/
| |-- Dockerfile
| |-- product_server.py
|-- nginx.conf
|-- docker-compose.yml
|-- requirements.txt
|-- Test_commands.txt
```
## Описание работы:
Для разработки приложений был выбран язык программирования - ```python```
#### Синхронный обмен сообщениями
`product_server` будет отправлять http-запрос на `document_server` при определенных crud операциях.
### Docker-compose
Конфигурационный файл ```docker-сompose``` представляет собой многоконтейнерное приложение с тремя сервисами: ```product_server```, ```document_server``` и ```nginx```. Обязанности маршрутизатора возложены на сервер Nginx
### Nginx
Этот файл представляет собой конфигурацию для ```Nginx```, который является веб-сервером и обратным прокси.
# ВК
https://vk.com/video256017065_456239873