forked from Alexey/DAS_2024_1
commit for commit
This commit is contained in:
parent
eb7211c6f9
commit
53f96303bc
64
vaksman_valeria_lab_3/README.md
Normal file
64
vaksman_valeria_lab_3/README.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Лабораторная работа №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
|
Loading…
Reference in New Issue
Block a user