DAS_2024_1/pupkov_alexey_lab_3
2024-11-16 21:33:29 +03:00
..
gateway pupkov_alexey_lab3 is ready 2024-11-16 21:33:29 +03:00
services pupkov_alexey_lab3 is ready 2024-11-16 21:33:29 +03:00
docker-compose.yaml pupkov_alexey_lab3 is ready 2024-11-16 21:33:29 +03:00
README.md pupkov_alexey_lab3 is ready 2024-11-16 21:33:29 +03:00

Лабораторная работа №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 определяет настройки веб-сервера и обратного прокси, который управляет входящими запросами и направляет их на соответствующие сервисы.

Видео ВК

Ссылка на демонстрацию работы программы