Продвинутый расширенный курс по всем основным темам микросервисной архитектуры

Микросервисы, Kafka, Docker
Spring Cloud, реактивный стек
Скидка 45% на пакет с Kubernetes/Helm
Курс TopKotlin или DocJava в подарок

Практика: разработка бэкенда для сервиса заказов еды на вынос на микросервисной архитектуре

Начать обучение бесплатно  
?

Cloud
-35% OFF

Микросервисы, Kafka, Docker
Spring Cloud, реактивный стек

Участников:
0
?

Docker. Микросервисы. Kafka. Реактивный стек. Spring Cloud.

Практика: разработка бэкенда для сервиса заказов еды на вынос на микросервисной архитектуре

Курс фокусируется на применении всего технологического стека Spring Cloud (более 30-ти технологий) на реальном, "живом" проекте, с выполнением и разбором домашних заданий.

Для участников есть персонализированная поддержка и живое общение в телеграм-группе с темами на каждое занятие. В том числе после завершения обучения.

Новый урок - обновление до Spring Boot 4 / JDK 25

Занятия проходятся индивидуально, материалы и поддержка даются навсегда
Время прохождения курса зависит от вашего опыта и глубины погружения:
от нескольких недель до нескольких месяцев

Список используемых технологий:

  • Основной функционал:
    • Spring Boot 3
    • Spring MVC, REST API - веб императивный стек
    • Project Reactor, Spring WebFlux, REST API - веб реактивный стек
  • Хранение и работа с данными
    • Postgres - основная БД
    • Spring Data Jpa / Hibernate - ORM, доступ к данным
    • Flyway - инструмент миграций БД
    • R2DBC - доступ к данным по реактивному драйверу
    • Redis - хранение сессий, Redis RateLimiter
  • Инструменты Kafka
    • Kafka - распределенное хранилище данных
    • Kafka Connect + Debezium Postgres Connector
    • Avro - сериализация данных для Kafka
    • Confluent Schema Registry - хранение схем данных для Kafka
    • TestContainers Kafka - тестирование
  • Стек Spring Cloud
    • Spring Cloud Resilience4j - RateLimiter, Circuit Breaker, Retry
    • Spring Cloud Config Server - хранение конфигураций
    • Spring Cloud Netflix Eureka (Service Discovery) - обнаружение микросервисов
    • Spring Cloud Gateway - единая точка входа в приложение
  • Тестирование
    • TestContainers - тестирование с помощью контейнеров Docker
    • WireMock - интеграционное тестирование, имитации реального API
    • MockWebServer (OkHttp) - интеграционное тестирование HTTP-запросов
    • Awaitility - тестирования асинхронных операций
  • Сборка, развертывание, управление
    • Gradle - сборка ПО
    • Docker / Docker Compose - контейнеризация приложений
    • Github Actions - простые пайплайны CI
  • Аутентификация и авторизация
    • KeyCloak - сервер автризации и аутентификации
    • JWT - JSON Web Tokens
    • OAuth 2.0 - авторизация
    • Защита от CSRF-атак
    • OpenID Connect - аутентификация
    • TestContainers Keycloak - тестирование KeyCloak
  • Логирование и мониторинг
    • Micrometer - инструментация микросервисов для получения метрик
    • Zipkin - распределенные трассировки
    • OpenZipkin Brave - расширение инструментирования Micrometer для Zipkin
    • Prometheus - сбор, аггрегация и хранение метрик
    • Tempo - распределенные трассировки (после Zipkin в образовательных целях)
    • Loki - сбора и анализа логов
    • Grafana - визуализация данных (трассировок, метрик, логов)
Видеообзор курса
Из трансляции с Александром ответ на вопрос:
насколько темы на курсе охватывают те знания, которые необходимы для вашей текущей работы
Схема микросервисов
Структура проекта

Вводная часть


Работа с проектом и инструменты


1. Menu Service: управление меню

  • Инициализация приложения
  • Разработка слоя данных (открытый урок)
  • Вся программа

    Для ознакомления открыто 2 темы: Интеграция Dispatcher Service и Kafka и
    OpenID Connect Authorization Code Flow

    2. Orders Service: формирование заказов


    3. Reviews Service: управление отзывами к блюдам


    4. Menu Aggregate Service: получение агрегированных данных


    5. Config Server: хранение конфигурации во внешнем сервисе


    6. Интеграция с Kafka I. Паттерн Transactional Outbox


    7. Интеграция с Kafka II. Dispatcher Service


    8. Интеграция с Kafka III. Orders Service


    9. Service Discovery (Netflix Eureka)


    10. Gateway Service I. Единая точка входа в приложение


    11. Gateway Service II. Распределенная трассировка запросов


    12. Security, Authorization и Authentication (Keycloak)


    13. Observability и Monitoring

    14. Обновление до Spring Boot 4 / JDK 25

    На текущий момент мы вручную управляем контейнерами с инфраструктурой и микросервисами, что не очень удобно, хотя и возможно, но до тех пор, пока количество микросервисов мало. Когда микросервисов становится гораздо больше, требуется система управления контейнерами.
    В современных реалиях де-факто стандартом такой системы является Kubernetes.

    Ждем на 2-й части курса по специальной цене:

    CloudJava-2: Деплой микросервисов в Kubernetes. Helm