Чему вы научитесь
- Проектировать сервис в трёх архитектурах: слоёной, вертикальными срезами и чистой
- Разделять чтение и запись по CQRS и выносить общий код сервисов в библиотеки
- Выбирать хранилище под задачу: MongoDB, PostgreSQL с JSONB, MySQL, Redis
- Работать с базой через Spring Data, JPA и миграции Flyway
- Связывать сервисы синхронно по gRPC: контракт в protobuf, сервер и клиент
- Связывать сервисы асинхронно через Kafka: события в Avro, Schema Registry, повторные попытки и DLT
- Защищать данные при одновременных запросах: пессимистичная и оптимистичная блокировки, идемпотентная обработка сообщений
- Настраивать наблюдаемость: логи в ELK, метрики в Prometheus и Grafana, распределённые трейсы
- Проверять сервис нагрузкой и управлять функциональностью через флаги
- Упаковывать сервисы в Docker и поднимать всю систему через Docker Compose
О курсе
Для кого этот курс
Начальные требования
Опыт с микросервисами не нужен. Архитектуры, gRPC, Kafka и инструменты наблюдаемости объясняются с нуля
Что нужно:
- Java на рабочем уровне: классы, интерфейсы, дженерики, лямбды, коллекции
- Spring Boot: как устроены контроллер, сервис, бин и внедрение зависимостей
- SQL и HTTP: запросы, статус-коды, JSON
- Командная строка, Git и Docker на бытовом уровне
Из софта: JDK 25, любая среда разработки, Docker. Gradle отдельно ставить не нужно, обёртка идёт с проектом
Из железа: от 16 ГБ памяти. К концу курса одновременно работают четыре сервиса, базы данных, Kafka и стек наблюдаемости
Преподаватели курса
Как проходит обучение
Курс состоит из видео-скринкастов: код пишется на экране, от пустого проекта до работающей системы
Восемь блоков: четыре сервиса, общая библиотека, интеграция по gRPC, интеграция через Kafka и эксплуатация
Перед каждым блоком — схема: что есть сейчас и что появится после него. После блока — резюме: что построено, какие технологии и принципы применили
К курсу прилагается репозиторий с кодом проекта. Вы повторяете за автором в своём проекте и проверяете результат теми же запросами, что в уроке
Что вы получите
- Навык проектирования: умение выбрать архитектуру под задачу и объяснить свой выбор
- Готовый проект из четырёх микросервисов, собранный вашими руками. Его можно показать в портфолио и взять за основу своего
- Четыре общие библиотеки — ядро, события, логирование, метрики — которые переносятся в рабочий проект
- Опыт с инструментами из вакансий: Kafka, gRPC, Redis, Docker, ELK, Prometheus, Grafana
- Репозиторий с кодом проекта
- Сертификат об окончании