36 lines
2.8 KiB
Markdown
36 lines
2.8 KiB
Markdown
|
|
|||
|
## Лабораторная работа №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
|