DAS_2024_1/chernyshov_nikita_lab_3/README.md

36 lines
2.8 KiB
Markdown
Raw Normal View History

2024-12-15 16:51:11 +04:00
## Лабораторная работа №3
### Цель:
* Реализовать два микросервиса, которые взаимодействуют друг с другом через синхронный обмен сообщениями (HTTP-запросы). Для доступа к микросервисам используется шлюз Nginx, реализованный с помощью Docker Compose.
### Технологии:
* Python: Язык программирования для реализации микросервисов.
* Flask: Фреймворк Python для создания веб-приложений, использован для создания REST API микросервисов.
* requests: Библиотека Python для отправки HTTP-запросов, использован для синхронного обмена сообщениями между микросервисами.
* flask_cors: Расширение Flask, которое позволяет микросервисам получать доступ к данным из других доменов.
* Docker: Технология контейнеризации для упаковки и запуска микросервисов.
* Docker Compose: Инструмент для определения и управления многоконтейнерными приложениями, использован для запуска микросервисов и шлюза Nginx.
* Nginx: Сетевой прокси-сервер, использован как шлюз для доступа к микросервисам.
### Функциональность:
#### Микросервис games-service:
* Реализует CRUD операции для игр (GET, POST, PUT, DELETE).
* Сохраняет данные о играх в памяти (в словаре games).
* Получает информацию о жанре из микросервиса genres-service через HTTP-запрос.
* Включает информацию о жанре в ответ JSON для игры.
#### Микросервис genres-service:
* Реализует CRUD операции для жанров (GET, POST, PUT, DELETE).
* Сохраняет данные о жанре в памяти (в словаре genres).
#### Шлюз Nginx:
* Перенаправляет HTTP-запросы на соответствующие микросервисы.
* Предоставляет единую точку входа для доступа к микросервисам.
### Запуск программы:
* Запуск команды docker-compose up --build
### Ссылка на видео:
https://vkvideo.ru/video286865610_456239226?list=ln-U577n85GB3sBxUtF34