Мы используем cookie для стабильной работы сервиса. Подробнее

Microservices — паттерны и практика построения микросервисов

ФорматОнлайн
Объём14 занятий
По окончанииАнтон Ларичев
О курсе

Подробнее

Всё больше компаний обращает своё внимание на микросервисную архитектуру, так как она решает множество проблем монолитных приложений: непростое горизонтальное масштабирование, устаревающий стек, высокая связанность и запутанность кода, а так же медленные процессы сборки, тестирования и выкладки. За счёт атомарности, микросервисная архитектура призвана решить все эти проблемы, а так же повысить отказоустойчивость и упростить поддержку. Но для всего есть и обратная сторона. Микросервисная архитектура требует совершенно другого подхода в проектировании и реализации. В курсы мы как раз посмотрим на все особенность построения микросервисной архитектуры. Мы разберём паттерны взаимодействия, декомпозиции, реализации команд и запросов, модели доменных событий и множество подводных камней, которые вы встретите при внедрении микросервисов. Курс был составлен исходя из моего реального опыта внедрения микросервисов в разных компаниях и тех трудностей, с которыми мне пришлось столкнуться. Несмотря на то, что в курсе мы будем писать код на TypeScript под Node.js, на фреймворке NestJS, он будет полезен и тем, кто пишет на других языках так как содержит много полезного теоретического материала. Мы изучим: - Алгоритм декомпозиции проекта на сервисы - Нотацию описания архитектуры приложения - Работу с репозиторием NX - Организацию коммуникации между микросервисами - Доменные события - их обработку и генерацию - Работу с шинами сообщения и в частности с RabbitMQ - Написание Микросервисов на NestJS - Реализацию паттерна CQRS - Построение масштабируемой асинхронной архитектуры - Обеспечение консистентности данных и паттерн Сага - Особенностям тестирования микросервисов - Паттерны реализации API - Паттерны работы с базами данных - Особенности выкладки и эксплуатации микросервисов Лекции чётко разделены на теоретическую часть  и live-code, где мы вместе будем писать код, создавая реальные backend для моей школы PurpleSchool. Благодаря этому разделению независимо от языка вы сможете получить полезные знания. В конце каждого модуля вас ожидает тест, который позволит укрепить ваши знания. В результате курса вы получите знания и навыки для эффективного внедрения микросервисного подхода в вашем проекте или компании. Весь написанный в курсе код в реальности используется на production и все подходы справедливы для систем любой сложности. На практике я реализовывал архитектуру системы, которая состояла более чем из 70 микросервисов.
Требования

Что нужно для старта

  • Чтобы получить максимум, рекомендуется знание Node.js. Для других языков полезным будет только часть курса.
Результат

Что вы получите

  • Декомпозировать проект на сервисы
  • Описывать архитектуру приложения
  • Работать с монорепозиторием NX
  • Реализовывать коммуникацию между микросервисами
  • Создавать и обрабатывать доменные события
  • Работать с RabbitMQ
  • Писать микросервисы на NestJS
  • Паттерну CQRS
  • Реализовать бизнес логику в сервисе
  • Асинхронной архитектуре
  • Обеспечивать консистентность данных
  • Реализовать паттерн Сага
  • Тестировать микросервисовы
  • Основным особенностям выкладки и эксплаутации
Аудитория

Для кого этот курс

  • Backend разработчикам на любом языке, которые хотят разобраться в микросервисной архитектуре и практикам её построения. Backend разработчикам на Node.js, которые не только хотят разобраться в паттернах и подходах, но и посмотреть на реальные практики реализации. Системным архитекторам для пополнения багажа знаний об асинхронных архитектурах.
Содержание

Программа курса

14 занятий
№ТемаЧто внутри
01Введение

- Когда нужны микросервисы?
- Как устроен курс?
- Обзор проекта
- Обзор курсов
- Перенос курса

02Настройка окружения

- Подготовка окружения
- Установка NodeJS
- Настройки VSCode

03Нотация описания архитектуры

- Вводное видео
- Разбор компонент
- Использование Figma
- Пример описания

04Переход к микросервисам

- Вводное видео
- Монолит VS Микросервисы
- Вопросы масштабирования
- Декомпозиция функционала
- Алгоритм декомпозиции
- Упражнение - Схема после декомпозиции
- Тест - Переход к микросервисам

05Монорепозитории

- Вводное видео
- Монорепозиторий или нет
- Обзор NestJS
- Код - Настраиваем nx monorepo
- Код - Создаём модели
- Код - Реализуем авторизацию
- Код - Запускаем проект
- Тест - Монорепозитории

06Обмен сообщениями

- Вводное видео
- Методы обмена
- Простая коммуникация
- Коммуникация через брокера
- Минимизация синхронности
- Упражнение - Доработка схемы взаимодействия
- Тест - Обмен сообщениями

07RabbitMQ

- Вводное видео
- Устанавливаем RabbitMQ
- Устройство RabbitMQ
- Типы exchange
- Администрирование RabbitMQ
- Код - Простой обмен сообщении
- Код - Реализация запрос / ответ
- Тест - RabbitMQ

08Реализация взаимодействия

- Вводное видео
- Код - Добавление библиотеки контрактов
- Код - Разбор nestjs-rmq
- Код - Подключения rabbitmq к проекту
- Код - Валидация запросов

09Реализация API

- Вводное видео
- Стратегии реализации API
- Паттерны получения данных
- Код - Авторизация на API
- Код - Взаимодействие с account
- Тест - Реализация API

10Реализация бизнес логики

- Вводное видео
- Бизнес логика и события
- Доработка архитектуры Accounts
- Код - Структурируем сервис Accounts
- Упражнение - Реализуем Commands
- Тест - Реализация бизнес логики

11Консистентность данных

- Вводное видео
- Саги - консистентность данных
- Паттерн State
- Код - Подготовка саги
- Код - Состояния саги
- Упражнение - Доработка состояний
- Код - Реализация Commands
- Код - Доменные события
- Тест - Консистентность данных

12Тестирование микросервисов

- Вводное видео
- Виды тестирования
- Код - Тесты авторизации
- Код - Тесты для Саги
- Упражнение - Проверка статуса платежа
- Тест - Тестирование микросервисов

13Выкладка и эксплуатация

- Вводное видео
- Базы данных
- Периодические задачи
- Логирование и метрики
- Особенности выкладки
- С чего начать переход
- Тест - Выкладка и эксплуатация

14Заключение

- Куда двигаться дальше?

01Введение

- Когда нужны микросервисы?
- Как устроен курс?
- Обзор проекта
- Обзор курсов
- Перенос курса

02Настройка окружения

- Подготовка окружения
- Установка NodeJS
- Настройки VSCode

03Нотация описания архитектуры

- Вводное видео
- Разбор компонент
- Использование Figma
- Пример описания

04Переход к микросервисам

- Вводное видео
- Монолит VS Микросервисы
- Вопросы масштабирования
- Декомпозиция функционала
- Алгоритм декомпозиции
- Упражнение - Схема после декомпозиции
- Тест - Переход к микросервисам

05Монорепозитории

- Вводное видео
- Монорепозиторий или нет
- Обзор NestJS
- Код - Настраиваем nx monorepo
- Код - Создаём модели
- Код - Реализуем авторизацию
- Код - Запускаем проект
- Тест - Монорепозитории

06Обмен сообщениями

- Вводное видео
- Методы обмена
- Простая коммуникация
- Коммуникация через брокера
- Минимизация синхронности
- Упражнение - Доработка схемы взаимодействия
- Тест - Обмен сообщениями

07RabbitMQ

- Вводное видео
- Устанавливаем RabbitMQ
- Устройство RabbitMQ
- Типы exchange
- Администрирование RabbitMQ
- Код - Простой обмен сообщении
- Код - Реализация запрос / ответ
- Тест - RabbitMQ

08Реализация взаимодействия

- Вводное видео
- Код - Добавление библиотеки контрактов
- Код - Разбор nestjs-rmq
- Код - Подключения rabbitmq к проекту
- Код - Валидация запросов

09Реализация API

- Вводное видео
- Стратегии реализации API
- Паттерны получения данных
- Код - Авторизация на API
- Код - Взаимодействие с account
- Тест - Реализация API

10Реализация бизнес логики

- Вводное видео
- Бизнес логика и события
- Доработка архитектуры Accounts
- Код - Структурируем сервис Accounts
- Упражнение - Реализуем Commands
- Тест - Реализация бизнес логики

11Консистентность данных

- Вводное видео
- Саги - консистентность данных
- Паттерн State
- Код - Подготовка саги
- Код - Состояния саги
- Упражнение - Доработка состояний
- Код - Реализация Commands
- Код - Доменные события
- Тест - Консистентность данных

12Тестирование микросервисов

- Вводное видео
- Виды тестирования
- Код - Тесты авторизации
- Код - Тесты для Саги
- Упражнение - Проверка статуса платежа
- Тест - Тестирование микросервисов

13Выкладка и эксплуатация

- Вводное видео
- Базы данных
- Периодические задачи
- Логирование и метрики
- Особенности выкладки
- С чего начать переход
- Тест - Выкладка и эксплуатация

14Заключение

- Куда двигаться дальше?

Документ после выпуска

Антон Ларичев

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Microservices — паттерны и практика построения микросервисов» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Направления:Backend-разработка

Информация обновлена 3 сентября 2026 г.

Продолжить выбор

Похожие курсы

Backend разработчик Golang
Backend разработчик Golang

Освойте Backend-разработку на Golang с нуля. Научитесь создавать высоконагруженные микросервисы, распределённые системы, работать с Docker, Kubernetes. Язык Google, Uber, Яндекс с…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
NestJS — с нуля, современный backend на TypeScript и Node JS
NestJS — с нуля, современный backend на TypeScript и Node JS

NestJS - это быстро растущий Node.js фреймворк, который позволяет командам легко разрабатывать поддерживаемые, легко тестируемые и масштабируемые приложения благодаря TypeScript и…

Онлайн14 занятий
3 999 ₽
Backend разработчик Node.js
Backend разработчик Node.js

Освойте Backend-разработку на Node.js с нуля. Научитесь создавать REST API, GraphQL, микросервисы, работать с базами данных MongoDB, PostgreSQL. Полное погружение в серверную разр…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
Backend разработчик на Python
Backend разработчик на Python

Освойте Backend-разработку на Python с нуля. Научитесь создавать REST API, Django, FastAPI, работать с PostgreSQL, Redis. Самый популярный язык 2026 года. Зарплаты от 88к до 300к+…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
FastAPI
15 ч.
FastAPI

Использовать Dependency Injection и разделять ответственность

Онлайн
Персональный наставникОбратная связь+3
3 999 ₽
Backend Golang
Backend Golang

Golang – язык для серверной разработки от Google, созданный в 2009 году. Он способен обрабатывать до 10 000 запросов в секунду благодаря встроенным горутинам для параллельной рабо…

Онлайн1 занятий
25 000 ₽
Начать без затрат

Бесплатные курсы

DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс
Бесплатно
DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс

Курс «DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обу…

Онлайн
Бесплатно
Программирование на Java. Уровень 4. Разработка серверного ПО на Jakarta Enterprise Edition
Бесплатно
Программирование на Java. Уровень 4. Разработка серверного ПО на Jakarta Enterprise Edition

Курс «Программирование на Java. Уровень 4. Разработка серверного ПО на Jakarta Enterprise Edition»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист…

Онлайн
Бесплатно
Программирование на Java. Уровень 3. Разработка клиент - серверных приложений
Бесплатно
Программирование на Java. Уровень 3. Разработка клиент - серверных приложений

Курс «Программирование на Java. Уровень 3. Разработка клиент-серверных приложений»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обу…

Онлайн
Бесплатно