DAS_2024_1/emelyanov_artem_lab_3/README.md

2.3 KiB
Raw Blame History

Задание

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

Вариант: Продукты и история цен на них

Выполнение

Были написаны два сервиса на языке java, фреймворк Spring:

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

Сервисы синхронно сообщены - сервис истории цен при создании записи с ценой, посылает сообщение продукту на связывание.

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

  • Оба контейнера проявляют порты, на которых работает приложение: 8080 для продуктов и 8081 для истории цен.
  • Выбирается рабочая директория /app и туда копируются файлы скриптов.
  • Командой запускаются сами скрипты.

Общий yaml-файл развёртки был настроен следующим образом:

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

Результат

Демонстрация работы в видео.

Ссылка на видео

https://drive.google.com/file/d/1tH7FwSu_VWJ5SKJBXm3zPKbxTAKVUFxb/view?usp=sharing