.. | ||
games_service | ||
genres_service | ||
nginx | ||
docker-compose.yml | ||
README.md |
Лабораторная работа №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