Многомодульный Gradle проект
из нескольких микросервисов
на стеке Spring Cloud (CloudJava)
Структура проекта

Программа:
Код стартует c Spring Boot REST API управления пользователями (последний урок BootJava).
JDK 17, Spring Boot 2.7, Lombok, H2, Caffeine Cache, Swagger/OpenAPI 3.0
Репозиторий для инициализации проекта
git clone https://github.com/javaOPs/cloudjava.git
- Переход на Spring Boot 3.0
- Миграция на Gradle
- JSON Web Token (JWT)
- Конфигурирование групп API с Auth Basic & JWT Token в Swagger
- Тестирование JWT
2. Многомодульный Gradle
- Многомодульный Gradle
- Выделение common и common tests
- Общие ресурсы
- Выделение auth-server
- Выделение profile-server
- Service-to-Service взаимодействие
3. Сервер OAuth2 авторизации
- Авторизация через Auth0
- Авторизация через KeyCloak
- OAuth2 Authorization Server
Примерная программа, будет меняться
4. OAuth2 клиент
- OAuth2 через Google и GitHub
- Авторизация на основе scopes
5. Основные сервисы Spring Cloud
- Config Server
- Discovery & Registry (Eureka Naming Server)
- Spring Cloud Gateway
6. Spring Cloud взаимодействие
- Spring Cloud Loadbalancer
- Fault Tolerance (Hystrix/Riselnce4j)
- Feign REST Client
- Тестирование
7. Spring Cloud инфраструктура
- Мониторинг (Spring Boot Actuator, Turbine, Prometheus, Grafana)
- Логирование (ELK, EFK, Graylog2, Logstash, Kibana)
- Distributed tracing (OpenTelemetry)
- Обновление конфигурации через Bus messaging