Docker. Микросервисы. Kafka
Реактивный стек. Spring Cloud
Курс в активной разработке.
Программа полностью обновлена!

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

?

Cloud

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

Зарегистрировались:
0
?

Docker. Микросервисы. Kafka.. Разработка бэкенд для сервиса заказов еды на вынос на микросервисной архитектуре

Схема микросервисов
Структура проекта
  • Назначение и задачи проекта
  • Манифест от Heroku “12-факторное приложение
  • Паттерны проектирования микросервисной архитектуры
  • Схема и стек приложения
  • Назначение и API микросервисов
  • Работа с проектом
  • Работа с Gradle
  • Установка Docker
  • Инициализация приложения
  • Разработка слоя данных (открытый урок)
    • Миграция DB c Flyway
    • JPA-модель данных
    • ДЗ-1: создание JPA-модели
    • Создание репозитория
    • Тестирование
    • ДЗ-2.1: добавление тестов
    • ДЗ-2.2: реализация кастом-репозитория, используя Criteria API
    • Подготовка окружения. Docker Compose
    • Конфигурация и запуск приложения
  • Разработка сервисного слоя
    • Создание сервиса и DTO
    • Тестирование
    • ДЗ-3.1: добавление тестов
    • ДЗ-3.2: реализация сервиса
  • Разработка слоя REST контроллеров
    • ДЗ-4: реализаия контроллера
    • Валидация
    • Обработка HTTP API ошибок
    • OpenAPI документация
    • Тестирование через WebTestClient
    • ДЗ-5: добавление тестов
    • Кэширование Spring контекста
  • Контейнеризация приложения
    • Создание образа через Dockerfile
    • Запуск образа приложения
    • Volumes. Подключение к контейнеру
    • Контейнеризация через Gradle и Cloud Native Buildpacks
  • Github Actions и рефакторинг
    • Github Actions
    • Дополнение API и рефакторинг
2. Orders Service: формирование заказов
  • Назначение, API, инициализация приложения
    • Реактивный стек (Spring WebFlux/Project Reactor, R2DBC)
  • Разработка слоя данных
    • Миграция Flyway
    • Конфигурирование JPA конверторов. ДЗ#1
    • Тестирование R2dbc через @Testcontainers + @DynamicPropertySource. ДЗ#2
  • Подготовка Docker/Docker Compose окружения
  • Разработка сервисного слоя
    • Конфигурирование WebClient
    • Реализация неблокирующего MenuClient
    • Сортировка и пагинация
    • Тестирование сервисного слоя
      • Тестирование MenuClient через OkHttp MockWebServer
      • Тестирование MenuOrderService через Wiremock
        • Настройка контейнера с БД
        • Настройка Wiremock
        • Имитация ответов от Menu Service
        • ДЗ#3 и ДЗ#4
  • Разработка слоя REST контроллеров
    • Обработка HTTP API ошибок для Spring WebFlux
    • Тестирование MenuOrderController
    • ДЗ#5 и ДЗ#6
  • Контейнеризация приложения
    • Кастомизация образов
    • Проверка через запросы Postman
  • Github Actions. ДЗ#7
3. Review Service
  • Назначение, API, инициализация приложения
  • Разработка слоя данных
    • Миграция Flyway
    • Тестирование слоя данных. ДЗ#2
    • Подготовка окружения
  • Разработка сервисного слоя
    • Реализация сервисов ReviewService и RatingService. ДЗ#3
    • Тестирование сервисного слоя. ДЗ#4
  • Разработка слоя REST контроллеров
    • Обработка HTTP API ошибок
    • OpenAPI документация. ДЗ#5
    • Тестирование. ДЗ#6
  • Контейнеризация приложения
  • Github Actions. ДЗ#7
4. Menu Aggregate Service
  • Назначение, API, инициализация приложения
  • Реализация DTO
    • DTO для Menu Service и Review Service. ДЗ#1
    • DTO для Aggregate Service. ДЗ#2
  • Реализация клиента для связи с внешними сервисами
    • Настройка конфигурации для связи с внешними сервисами
    • Реализация Menu Service Client
    • Реализация Review Service Client. ДЗ#3
    • Добавляем CircuitBreaker
    • Тестирование MenuClient и ReviewsClient
    • Настройка WireMock. ДЗ#4
  • Разработка сервисного слоя
    • Реализация аггрегации через неблокирующий AggregateService
    • Тестирование сервисного слоя. ДЗ#5
  • Разработка слоя REST контроллеров
    • OpenAPI документация. ДЗ#6
    • Обработка HTTP API ошибок для реактивного стека
    • Тестирование. ДЗ#7
  • Контейнеризация приложения. ДЗ#8
  • Github Actions. ДЗ#9
5. Config Server
6. Интеграция с Kafka часть 1
(паттерн Transactional Outbox)
7. Интеграция с Kafka часть 2
(Kafka Producer, Kafka Consumer). Dispatcher Service
8. Service Discovery (Netflix Eureka)
9. Единая точка входа в приложение Gateway Server
10. Security, Authorization и Authentication (Keycloak)
11. Observability и Monitoring