2.3 KiB
2.3 KiB
Задание
- Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
- Реализовать механизм синхронного обмена сообщениями между микросервисами.
- Реализовать шлюз на основе прозрачного прокси-сервера 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