30 lines
2.3 KiB
Markdown
30 lines
2.3 KiB
Markdown
## Задание
|
||
|
||
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 |