Maven project
JDK: Amazon Corretto 17 (corretto-17)
Language level: 17 (SDK default)
Приложение для ресторанного бизнеса.
Главная страница приложения: http://localhost:8080/api
Настройки запуска: ./.runConfigurations/RunAll.run.xml
Микросервисы:
- config-server - сервер для хранения настроек всех микросервисов (Spring Cloud Config)
- eureka-server - сервер Eureka для контроля микросервисов (Spring Cloud Netflix - Eureka Server)
- personnel-service - сервис для работы с персоналом организации
- storage-service - сервис для работы со складом и продукцией с кухни
- web-client - клиентское приложение
- api-gateway - сервис для переадресации запросов от клиентского приложения микросервисам
Подключен мониторинг в storage-service и web-client. Файл настройки Prometheus и фото dashboard Grafana в папке ".monitoring".
Для связи web-client и api-gateway используется RestClient.
Использован Spring Integration в storage-service для фиксации в файле информации о добавленном продукте.
Добавлены профили:
- log - для изменения формата отображения логов в консоли у всех подключенных микросервисов
- eclient - для подключения клиентов eureka к eureka-server
- dev - development, использование БД H2
- prod - production, планируется использовать БД PostgreSQL
Базовое задание:
Добавить в один из Ваших проектов, сделанных ранее, ApiGateWay и Eureka. В проекте обязательно должна быть Spring Data.
Задание со звездочкой:
В проект так же добавить spring config server Связь между микросервисами перевести на spring cloud openfeign
Базовое задание:
- Подключить к своему проекту зависимости actuator, registry-prometheus и micrometer.
- Установить и подключить к проекту prometheus
- Установить и подключить Grafana. В Grafana добавить пару точеу контроля (Например: процессоное время приложения и количество запросов) Формат сдачи: проект с добавленными зависимостями, файл настройки prometheus и скриншот Grafana с добавленными контрольными точками.
Задание со звездочкой:
- Проделать, то же самое с многомодульным проектом (добавить под контроль несколько модулей)
- Добавить собственную метрику.
Задание:
- Добавить в один из проектов, разработанных ранее, spring Integration. Сохранять запросы от пользователя в файл.
- Добавить в проект один из паттернов, разобранных на лекции.