DAS_2024_1/presnyakova_victoria_lab_3
2024-11-01 19:10:39 +04:00
..
event_service lab 3 done 2024-11-01 19:10:39 +04:00
session_service lab 3 done 2024-11-01 19:10:39 +04:00
docker-compose.yml lab 3 no swagger 2024-10-10 22:53:30 +04:00
nginx.conf lab 3 no swagger 2024-10-10 22:53:30 +04:00
readme.md lab 3 done 2024-11-01 19:10:39 +04:00

Задание:

  • Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
  • Реализовать механизм синхронного обмена сообщениями между микросервисами.
  • Реализовать шлюз на основе прозрачного прокси-сервера nginx.

Вариант: Сессии и события

Выполнение

Были написаны два сервиса на языке python:

  • Сервис session_service, хранящий данные о сессиях и реализующий CRUD операции с ними через HTTP запросы.

  • Сервис event_service, хранящий данные о событиях и реализующий CRUD операции с ними через HTTP запросы.

  • Сервисы синхронно сообщены - сервис сессия запрашивает данные у сервиса событий для получения событий сессии.

Для сервисов прописаны файлы Dockerfile, описывающие создание контейнеров:

Для обоих контейнеров выбирается Python 3.9. Оба контейнера проявляют порты, на которых работает приложение: 8081 для событий и 8082 для сессий. В оба контейнера устанавливаются пакеты Flask и requests. Выбирается рабочая директория /work и туда копируются файлы скриптов. Командой запускаются сами скрипты. Общий yaml-файл развёртки был настроен следующим образом:

блок services, где перечислены разворачиваемые сервисы. для каждого сервиса прописан build, где объявляется его папка и докерфайл создания и зависимости. для сервиса nginx прописан порт для отображения вовне.

Видео https://drive.google.com/file/d/1my-e51bAoxUaMHKpGJmd9ZXSR5GnmORS/view?usp=sharing