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