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

2.4 KiB
Raw Blame History

Лабораторная работа №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