diff --git a/vaksman_valeria_lab_3/README.md b/vaksman_valeria_lab_3/README.md new file mode 100644 index 0000000..415ba42 --- /dev/null +++ b/vaksman_valeria_lab_3/README.md @@ -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 \ No newline at end of file