Список используемых технологий:
- Основной функционал:
- Spring Boot 3
- Spring MVC, REST API - веб императивный стек
- Project Reactor, Spring WebFlux, REST API - веб реактивный стек
- Хранение и работа с данными
- Postgres - основная БД
- Spring Data Jpa / Hibernate - ORM, доступ к данным
- Flyway - инструмент миграций БД
- R2DBC - доступ к данным по реактивному драйверу
- Redis - хранение сессий + rate limiting
- Инструменты Kafka
- Kafka - распределенное хранилище данных
- Kafka Connect + Debezium Postgres Connector
- Avro - сериализация данных для Kafka
- Confluent Schema Registry - хранение схем данных для Kafka
- Стек Spring Cloud
- Spring Cloud Resilience4j - rate limiting, 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 - сервер автризации и аутентификации
- OAuth 2.0 - авторизация
- OIDC - аутентификация
- Логирование и мониторинг
- Micrometer - инструментация микросервисов для получения метрик
- Prometheus - сбор, аггрегация и хранение метрик
- Grafana - визуализация трассировок, метрик, логов
- Loki - распределенное логирование
- Zipkin - распределенные трассировки
- Tempo - распределенные трассировки, после Zipkin в образовательных целях
Специальная цена до завершения оформления курса
Вы получаете:
- Доступ ко всем материалам занятий (пошаговый текстовой туториал)
- Репозиторий и код проекта (обновление патчами или скачать весь проект)
- Практика и примеры применения всех перечисленных технологий
- Домашние задания для самостоятельного выполнения с разбором решения (без проверки)
- Навыки и знания в разработке микросервисов, востребованные работодателем
- Огромный стек технологий в резюме и группа проектов в портфолио
- Повышенную ценность, как Java-разработчик
- Поддержка в специальной группе Telegram с темами на каждое занятие
CloudJava + Многомодульный Maven, многопоточность, JavaEE
Микросервисы, Docker, Kafka, Spring Cloud, реактивный стек без проверки
Многомодульный Maven, многопоточность, JavaEE (MasterJava) без проверки
CloudJava + Веб-проект для бизнеса и Командная разработка
Всем участникам предоставляются:
Поддержка преподавателя, ответы на вопросы и обсуждение занятий и домашних заданий в группе участников.
Общение с нашими выпускниками в
специальной группе Slack и канале Telegram
Свежие вакансии для начинающих разработчиков, помощь с Java, отзывы о работодателях, события IT, интересные видео...
Доступ ко всем материалам навсегда, без привязки ко времени и местоположению
Все видео доступны для просмотра онлайн и скачивания в любое время и без ограничения по срокам. Записи разбиты по темам и тщательно отредактированы. Большое количество подобранных ресурсов для углубления в детали.
После успешного прохождения курса – сертификат об окончании
Специальные цены участника на все наши проекты
Способы оплаты:
Корпоративное обучение
Обучение по договору с вашей организацией и оплатой по безналичному расчету (Договор, Счет, Акт приемки).
Пример договора на обучение:
Программа:
- Назначение и задачи проекта
- Манифест от 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 и рефакторинг
- Назначение, API, инициализация приложения
- Реактивный стек (Spring WebFlux/Project Reactor, R2DBC)
- Разработка слоя данных
- Миграция DB c Flyway
- ДЗ-1: создание JPA-модели и репозитория
- Тестирование
- ДЗ-2: добавление тестов
- Подготовка Docker/Docker Compose окружения
- Разработка сервисного слоя
- Создание сервиса и DTO
- Реализация неблокирующего MenuClient
- Сортировка и пагинация
- Тестирование
- Тестирование MenuClient, используя OkHttp MockWebServer
- Выносим инициализацию тестовой базы в BaseTest
- Выносим работу с Wiremock в BaseIntegrationTest
- Тестирование MenuOrderService
- ДЗ-3.1: добавление тестов
- ДЗ-3.2: реализация сервиса
- Создание сервиса и DTO
- Разработка слоя REST-контроллеров
- Подготовка к реализации контроллера
- Обработка HTTP API ошибок для WebFlux
- Тестирование через WebTestClient
- ДЗ-4.1: добавление тестов
- ДЗ-4.2: реализация контроллера
- Контейнеризация приложения и GitHub Actions
- Создание образа
- Запуск сервисов с помощью docker-compose
- Тестирование с помощью утиллиты curl и Postman
- Выполнение запросов через curl
- Выполнение запросов через Postman
- GitHub Actions
- Назначение, API, инициализация приложения
- Проблема расчета рейтинга блюда. Биномиальное распределение
- Разработка слоя данных
- Миграция DB c Flyway. Функции и триггеры в Postgres
- ДЗ-1: создание JPA-модели
- Создание репозиториев и тестирование
- ДЗ-2.1: добавление тестов
- ДЗ-2.2: реализация RatingRepository через JPQL и нативный SQL
- Подготовка Docker/Docker Compose окружения
- Разработка сервисного слоя
- Создание интерфейсов, маппера, DTO
- Тестирование
- ДЗ-3.1: добавление тестов
- ДЗ-3.2: реализация сервисов
- Разработка слоя REST-контроллеров
- Подготовка к реализации контроллера
- Тестирование через WebTestClient
- ДЗ-4.1: добавление тестов
- ДЗ-4.2: реализация контроллера
- Контейнеризация приложения и GitHub Actions
- Создание образа
- Запуск сервисов с помощью docker-compose
- Тестирование через Postman
- GitHub Actions
- Назначение, API, инициализация приложения
- Подготовка DTO
- Реализация клиента для связи с внешними сервисами
- Конфигурирование и общая логика
- Реализация клиентов
- Реализация Menu Service Client
- Заготовка для Review Service Client
- Resilience4j: добавляем CircuitBreaker и Retry
- CircuitBreaker
- Retry
- Тестирование
- ДЗ-1.1: добавление тестов
- ДЗ-1.2: реализация ReviewsClient
- Разработка сервисного слоя
- Реализация AggregateService
- Реализация getMenuAggregateInfo
- Реализация getMenusWithRatings
- Реализация AggregateService
- Разработка слоя REST-контроллеров
- Подготовка к реализации контроллера
- Обработка HTTP API ошибок для WebFlux
- Тестирование MenuAggregateController
- ДЗ-3.1: добавление тестов
- ДЗ-3.2: реализация контроллера
- Контейнеризация приложения и GitHub Actions
- ДЗ-4: Создание образа и тестирование через Postman
- GitHub Actions
- Spring Cloud Config
- Spring Environment
- Spring Cloud Config
- Config Server Git-репозиторий
- Развертываем Spring Cloud Config Server
- Микросервис Config Server
- Собираем образ Docker
- Настраиваем Spring Cloud Config Client в микросервисах
- Конфигурируем Menu Service
- Контейнеризируем Menu Service для prod-среды
- Домашнее задание: добавляем Config Client к остальным микросервисам
- Общая информация по Apache Kafka
- Кластер с брокерами сообщений
- Топики, партиции и репликация данных
- Консьюмеры
- Продъюсеры
- Управление кластерной конфигурацией
- Дополнительные материалы
- Transactional Outbox: используемые технологии
- Kafka Connect
- Debezium Postgres Connector
- Сериализация / десериализация. Avro
- Confluent Schema Registry
- Transactional Outbox: реализация
- Схема взаимодействия
- Запуск Postgres в одном контейнере
- Контейнеры для Kafka, Confluent Schema Registry, Kafka Connect
- Сохранение в таблице Outbox
- Настройки Debezium Postgres Connector
- Регистрируем и проверяем работоспособность коннектора
- Сериализация через Apache Avro
- Спецификация схем Avro
- Создаем схемы Avro и генерируем классы
- Интеграция Dispatcher Service и Kafka (урок для ознакомления)
- Настраиваем Kafka Producer
- Настраиваем Kafka Consumer
- Тестируем интеграцию с Kafka
- Config Server, Контейнеризация, GitHub Actions
- Интеграция с Config Server
- Контейнеризация приложения и GitHub Actions
- Интеграция Orders Service и Kafka
- Обновляем зависимости, подготавливаем ДЗ
- Тестируем интеграцию с Kafka
- ДЗ: реализация интеграции с Kafka
- Обновляем конфигурации для Config Server и Docker Compose
- Docker Deployment всех микросервисов
В процессе оформления:
- Развертываем Eureka Server
- Микросервис Discovery Service (Netflix Eureka)
- ДЗ: интеграция с Config Server
- Настраиваем Eureka Client в микросервисах
- Конфигурируем Menu Service
- Контейнеризируем Menu Service
- Настраиваем Orders Service