Чтобы оставаться востребованным на рынке труда в современных условиях, для Java-разработчиков сейчас особенно актуально иметь знание и опыт работы на стеке Микросервисов.
Наш курс охватывает не одну узкую тему, а фокусируется на применении всего технологического стека Микросервисов (более 30-ти технологий) в реальном проекте, с выполнением и разбором домашних заданий.
Для участников есть персонализированная поддержка и живое общение в телеграм-группе с темами на каждое занятие.
Курс проходится индивидуально, материалы и поддержка даются навсегда
Время прохождения курса зависит от вашего опыта и глубины погружения:
от нескольких недель до нескольких месяцев
Время прохождения курса зависит от вашего опыта и глубины погружения:
от нескольких недель до нескольких месяцев
Список используемых на курсе технологий:
Основной функционал
- 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 - визуализация данных (трассировок, метрик, логов)
Схема микросервисов

- Практический фокус на реальном проекте с выполнением домашних заданий позволяет студентам не только понять, как работает микросервисная архитектура, но и применить знания в реальной разработке
- Гибкость для разных уровней подготовки. Курс в первую очередь расчитан на уровень разработчиков Middle и выше, но также подходит для Junior с опытом в Spring Boot. Учитываются различные уровни знаний, что позволяет участникам получать практические навыки с учетом их текущего уровня
- Если ты уже работаешь с микросервисами, то курс сэкономит огромное количество времени/ресурсов и убережет от большого количества потенциальных шишек
- Если только начинаешь работать с этим огромным количеством новых технологий, курс будет неоценимым справочником с "Best practice" готовым кодом
- Персонализированная поддержка и живое общение в телеграм-группе с темами на каждое занятие. В отличие от крупных образовательных платформ, где студентам часто не хватает индивидуальной обратной связи, курс предлагает активную поддержку преподавателей и ответы на все вопросы в процессе обучения и после завершения курса.

Требования
Знание основ Spring Boot, JPA, Security, REST API
Оптимально: открытый курс Spring Boot 3.x + HATEOAS и
стажировка Enterprise Java-разработчик (TopJava)
Для прохождения курса потребуется установка Gradle и Docker
Стоимость
Первым 500 участникам
скидка 50%: 51 100 25 550 руб.
Вы получаете:
- Доступ ко всем материалам занятий
- Репозиторий и код сервисов проекта
- Практика и примеры применения всех перечисленных технологий
- Домашние задания для самостоятельного выполнения с разбором решения
- Практические навыки, знания и опыт в разработке микросервисов
- Огромный стек технологий в резюме и группа проектов в портфолио
- Повышенную ценность, как Java-разработчик
- После прохождения курса – сертификат об окончании
- Поддержка в специальной группе Telegram
Время прохождения не ограничено, материалы и поддержка даются навсегда
Курсы TopKotlin или DocJava в подарок
Купить CloudJava + TopKotlin Купить CloudJava + DocJavaVIP участие
Дополнительно 2 личные консультации
по своему проекту и одно ревью кода
Начать обучение бесплатно:
Вводная часть
- Назначение и задачи проекта
- Манифест от Heroku “12-факторное приложение”
- Паттерны проектирования микросервисной архитектуры
- Схема и стек приложения
- Назначение и API микросервисов
Работа с проектом и инструменты
- Работа с проектом
- Работа с Gradle
- Установка Docker
1. Menu Service: управление меню
- Инициализация приложения
- Разработка слоя данных (открытый урок)
- Миграция DB c Flyway
- JPA-модель данных
- ДЗ-1: создание JPA-модели
- Создание репозитория
- Тестирование
- ДЗ-2.1: добавление тестов
- ДЗ-2.2: реализация кастом-репозитория, используя Criteria API
- Подготовка окружения. Docker Compose
- Конфигурация и запуск приложения
Вся программа
Открыто 2 темы: Интеграция с Kafka и OpenID Connect Authorization Code Flow
- Разработка сервисного слоя
- Создание сервиса и 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)
- Разработка слоя данных
- Миграция DB c Flyway
- ДЗ-1: создание JPA-модели и репозитория
- Тестирование
- ДЗ-2: добавление тестов
- Подготовка Docker/Docker Compose окружения
- Разработка сервисного слоя
- Создание сервиса, DTO, неблокирующего MenuClient, сортировка и пагинация
- Тестирование с помощью OkHttp и Wiremock
- ДЗ-3.1: добавление тестов
- ДЗ-3.2: реализация сервиса
- Разработка слоя REST-контроллеров
- Подготовка к реализации контроллера
- Обработка HTTP API ошибок для WebFlux
- Тестирование через WebTestClient
- ДЗ-4.1: добавление тестов
- ДЗ-4.2: реализация контроллера
- Контейнеризация приложения и GitHub Actions
- Создание образа
- Запуск сервисов с помощью docker-compose
- Тестирование с помощью утиллиты curl и Postman
- GitHub Actions
3. Reviews Service: управление отзывами к блюдам
- Назначение, 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
4. Menu Aggregate Service: получение агрегированных данных
- Назначение, API, инициализация приложения
- Подготовка DTO
- Реализация клиента для связи с внешними сервисами
- Конфигурирование и общая логика
- Реализация Menu и Review Service Client
- Resilience4j: добавляем CircuitBreaker и Retry
- Тестирование
- ДЗ-1.1: добавление тестов
- ДЗ-1.2: реализация ReviewsClient
- Разработка сервисного слоя
- Разработка слоя REST-контроллеров
- Подготовка к реализации контроллера
- Обработка HTTP API ошибок для WebFlux
- Тестирование MenuAggregateController
- ДЗ-3.1: добавление тестов
- ДЗ-3.2: реализация контроллера
- Контейнеризация приложения и GitHub Actions
- ДЗ-4: Создание образа и тестирование через Postman
- GitHub Actions
5. Config Server: хранение конфигурации во внешнем сервисе
- 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 к остальным микросервисам
6. Интеграция с Kafka I. Паттерн Transactional Outbox
- Общая информация по 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
- Регистрируем и проверяем работоспособность коннектора
7. Интеграция с Kafka II. Dispatcher Service
- Сериализация через Apache Avro
- Спецификация схем Avro
- Создаем схемы Avro и генерируем классы
- Интеграция Dispatcher Service и Kafka (тема для ознакомления)
- Config Server, Контейнеризация, GitHub Actions
- Интеграция с Config Server
- Контейнеризация приложения и GitHub Actions
8. Интеграция с Kafka III. Orders Service
- Интеграция Orders Service и Kafka
- Обновляем зависимости, подготавливаем ДЗ
- Тестируем интеграцию с Kafka
- ДЗ: реализация интеграции с Kafka
- Обновляем конфигурации для Config Server и Docker Compose
- Docker Deployment всех микросервисов
9. Service Discovery (Netflix Eureka)
- Развертываем Eureka Server
- Микросервис Discovery Service (Netflix Eureka)
- ДЗ: интеграция с Config Server
- Настраиваем Eureka Client в микросервисах
- Конфигурируем Menu Service
- Контейнеризируем Menu Service
- Настраиваем Orders Service
- ДЗ: настраиваем и контейнеризируем Review Service
- Настраиваем и контейнеризируем Menu Aggregate Service
- Eureka Server API
- Обновление Docker Deployment всех микросервисов
10. Gateway Service I. Единая точка входа в приложение
- Основные компоненты и принципы работы
- Настройка Spring Cloud Gateway
- ДЗ: интеграция с Config и Eureka серверами
- Настройка таймаутов
- Настройка CircuitBreaker
- Маршрутизация запросов
- Настройка фильтров по умолчанию
- Фильтр Retry
- Фильтр RequestRateLimiter, подключение Redis
11. Gateway Service II. Распределенная трассировка запросов
- Основные компоненты и принципы работы
- Конфигурирование трассировок для Zipkin
- Настройка трассировок в Gateway Service
- Настройка трассировок в микросервисах
- Обновление Docker Deployment всех микросервисов
- Просмотр трассировок в Zipkin
12. Security, Authorization и Authentication (Keycloak)
- Общая информация
- Основные определения
- JWT
- OAuth 2.0
- OpenID Connect
- Keycloak
- Основные возможности и архитектура
- Запуск и настройка Keycloak
- ДЗ: экспорт конфигурации и запуск уже настроенного Keycloak
- OpenID Connect Authorization Code Flow (тема для ознакомления)
- Обновление Docker Deployment и тестирование через браузер
- Обновление Docker Deployment микросервисов
- Тестирование OpenID Connect Authorization Code Flow
- Gateway Service как OAuth 2.0 сервер ресурсов
- Диаграммы последовательности Gateway Service как сервера ресурсов
- Конфигурация Gateway Service как сервера ресурсов
- Тестирование OAuth 2.0 запросов через Postman
- Тестирование OAuth 2.0 запросов через curl
13. Observability и Monitoring
- Общая информация
- Основные определения
- Micrometer
- Prometheus
- Tempo
- Loki
- Grafana
- Настройка микросервисов
- Настройка Gateway Service
- ДЗ: настройка остальных микросервисов
- Настройка окружения в Docker Deployment
- Prometheus
- Tempo
- Loki
- Grafana
- Запуск микросервисов и работа с дашбордами
- Запуск микросервисов
- Grafana, вкладка Explore
- Логи
- Трассировки
- Метрики
- Использование готовых панелей мониторинга
- Дашборд для Kafka
- Визуализация показателей Kafka Consumer
- Визуализация показателей Kafka Producer
- Идеи для развития проекта
Отзывы участников
Корпоративное обучение
Стоимость курса для юридических лиц: 25 550 руб.Скидка на каждого сотрудника от 3000 до 7000 руб. в зависимости от количества участников.
Порядок действий:
- Отправьте заявку: admin@javaops.ru | TG: @gkislin |
WA: +79218550482
Сотрудник может проходить открытые занятия/ регистрироваться на курсе - Я прислылаю Договор ( образец Договора ) и Счет или Счет-оферту. Подписываем документы по ЭДО.
- После оплаты сотрудникам приходит письмо участника с доступом к материалам и группе поддержки
- По окончанию обучения выдаются электронные сертификаты и подписываем Акт об оказании услуг
Стать партнером
Напишите мне для сотрудничества: TG: @gkislin | WA: +79218550482В личном кабинете вы видете всех зарегистрированных по реферальной ссылке участников и все их оплаты.
Комиссия за каждую покупку зависит от количества участников.