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

Полный курс по микросервисной архитектуре и построению асинхронных систем на примере Node.js, Nest.js, RabbitMQ и Nx

4.69 (36 reviews)
Udemy
platform
Русский
language
Web Development
category
240
students
14 hours
content
Jun 2022
last update
$84.99
regular price

What you will learn

Декомпозировать проект на сервисы

Описывать архитектуру приложения

Работать с монорепозиторием NX

Реализовывать коммуникацию между микросервисами

Создавать и обрабатывать доменные события

Работать с RabbitMQ

Писать микросервисы на NestJS

Паттерну CQRS

Реализовать бизнес логику в сервисе

Асинхронной архитектуре

Обеспечивать консистентность данных

Реализовать паттерн Сага

Тестировать микросервисовы

Основным особенностям выкладки и эксплаутации

Description

Всё больше компаний обращает своё внимание на микросервисную архитектуру, так как она решает множество проблем монолитных приложений: непростое горизонтальное масштабирование, устаревающий стек, высокая связанность и запутанность кода, а так же медленные процессы сборки, тестирования и выкладки. За счёт атомарности, микросервисная архитектура призвана решить все эти проблемы, а так же повысить отказоустойчивость и упростить поддержку. Но для всего есть и обратная сторона. Микросервисная архитектура требует совершенно другого подхода в проектировании и реализации.

В курсы мы как раз посмотрим на все особенность построения микросервисной архитектуры. Мы разберём паттерны взаимодействия, декомпозиции, реализации команд и запросов, модели доменных событий и множество подводных камней, которые вы встретите при внедрении микросервисов. Курс был составлен исходя из моего реального опыта внедрения микросервисов в разных компаниях и тех трудностей, с которыми мне пришлось столкнуться. Несмотря на то, что в курсе мы будем писать код на TypeScript под Node.js, на фреймворке NestJS, он будет полезен и тем, кто пишет на других языках так как содержит много полезного теоретического материала. Мы изучим:

- Алгоритм декомпозиции проекта на сервисы

- Нотацию описания архитектуры приложения

- Работу с репозиторием NX

- Организацию коммуникации между микросервисами

- Доменные события - их обработку и генерацию

- Работу с шинами сообщения и в частности с RabbitMQ

- Написание Микросервисов на NestJS

- Реализацию паттерна CQRS

- Построение масштабируемой асинхронной архитектуры

- Обеспечение консистентности данных и паттерн Сага

- Особенностям тестирования микросервисов

- Паттерны реализации API

- Паттерны работы с базами данных

- Особенности выкладки и эксплуатации микросервисов

Лекции чётко разделены на теоретическую часть  и live-code, где мы вместе будем писать код, создавая реальные backend для моей школы PurpleSchool. Благодаря этому разделению независимо от языка вы сможете получить полезные знания. В конце каждого модуля вас ожидает тест, который позволит укрепить ваши знания.

В результате курса вы получите знания и навыки для эффективного внедрения микросервисного подхода в вашем проекте или компании. Весь написанный в курсе код в реальности используется на production и все подходы справедливы для систем любой сложности. На практике я реализовывал архитектуру системы, которая состояла более чем из 70 микросервисов.

Screenshots

Microservices - паттерны и практика построения микросервисов - Screenshot_01Microservices - паттерны и практика построения микросервисов - Screenshot_02Microservices - паттерны и практика построения микросервисов - Screenshot_03Microservices - паттерны и практика построения микросервисов - Screenshot_04

Content

Введение

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

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

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

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

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

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

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

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

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

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

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

RabbitMQ

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

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

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

Реализация API

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

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

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

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

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

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

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

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

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

Заключение

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

Reviews

Tim
June 27, 2022
"...в огромный кусок декомпозированных модулей" ? Материал высочайшего уровня с отличной подачей. Стиль! ?

Charts

Price

Microservices - паттерны и практика построения микросервисов - Price chart

Rating

Microservices - паттерны и практика построения микросервисов - Ratings chart

Enrollment distribution

Microservices - паттерны и практика построения микросервисов - Distribution chart
4660974
udemy ID
4/26/2022
course created date
6/11/2022
course indexed date
Bot
course submited by