О курсе
Курс построен как последовательное руководство по переходу от монолитной архитектуры к микросервисной. В начале разбираются предпосылки такого перехода, настройка окружения и нотации описания архитектуры. Затем рассматриваются монорепозитории на базе Nx и организация обмена сообщениями, включая работу с RabbitMQ.
Значительная часть программы посвящена практической реализации: взаимодействию между сервисами, построению API, реализации бизнес-логики и обеспечению консистентности данных. Отдельные разделы касаются паттерна CQRS, доменных событий и паттерна Сага. Также в курсе рассматриваются тестирование микросервисов и особенности их выкладки и эксплуатации.
Материал включает 118 видеоуроков с конспектами, 5 упражнений и 43 теста для проверки знаний. Автор отмечает, что курс составлен на основе его опыта внедрения микросервисов в компаниях. Хотя примеры кода приводятся на TypeScript, Node.js и NestJS, теоретическая часть может быть полезна разработчикам и на других языках. Для полноценного освоения рекомендуется знание Node.js.
Что рассматривается в программе
- Рассматривается декомпозиция проекта на сервисы и описание архитектуры приложения.
- Разбирается работа с монорепозиторием Nx.
- Изучается организация обмена сообщениями и работа с RabbitMQ.
- Рассматривается реализация взаимодействия между микросервисами и создание доменных событий.
- Разбирается паттерн CQRS и реализация бизнес-логики в сервисе.
- Рассматриваются подходы к обеспечению консистентности данных и паттерн Сага.
- Уделяется внимание тестированию микросервисов, их выкладке и эксплуатации.
Кому может быть полезен курс
- Разработчикам, интересующимся переходом от монолитной архитектуры к микросервисной.
- Специалистам, которым нужно ознакомиться с паттернами декомпозиции и взаимодействия сервисов.
- Тем, кто планирует работать с RabbitMQ, Nx и NestJS в контексте микросервисов.
- Разработчикам на других языках, которым интересна теоретическая часть по микросервисной архитектуре.
Вопросы о программе
Какие технологии используются в курсе для примеров кода?
В материалах курса примеры приводятся на TypeScript под Node.js с использованием фреймворка NestJS, монорепозитория Nx и RabbitMQ.
Подойдёт ли курс разработчикам на других языках программирования?
Автор отмечает, что курс содержит много теоретического материала, поэтому часть программы может быть полезна и тем, кто пишет на других языках, хотя практические примеры ориентированы на Node.js.
Какие паттерны рассматриваются в курсе?
В программе заявлены паттерны декомпозиции, взаимодействия сервисов, CQRS, доменные события, а также паттерн Сага для обеспечения консистентности данных.
Какие требования к подготовке слушателей?
Для получения максимальной пользы рекомендуется знание Node.js. Для слушателей на других языках полезной будет только часть курса.