Сложность
Сложность
Начинающий
Тип обучения
Тип обучения
Курс
Формат обучения
Формат обучения
Записанные лекции
Трудоустройство
Трудоустройство
Отсутствует
Сертификат
Сертификат
Да

Стоимость курса

3 299 ₽
нет рассрочки

Что в курсе?

  •  Неограниченный по времени доступ к материалам
     
  •  Практические упражнения и примеры на реальных проектах
     
  •  Небольшие структурированные лекции для простого освоения
     
  •  Поддержка в чате студентов
     
  •  Ответы на вопросы в комментариях

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

Вы научитесь

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

Что вы получите после обучения

Приобретаемые навыки
1
Microservices
2
Настройка окружения
3
Нотация описания архитектуры
4
Переход к микросервисам
5
Монорепозитории
6
Обмен сообщениями
7
RabbitMQ
8
Реализация взаимодействия
9
Реализация API
10
Реализация бизнес логики
11
Консистентность данных
12
Базы данных
Сертификат, ссылками на который можно делиться с другими людьми

Вас будут обучать

Технический директор и профессиональный разработчик

Основатель PurpleSchool и ex-CTO. Занимаюсь разработкой уже более 14 лет и имею большой опыт: JavaScript, TypeScript, Php, Go, C#, Swift и Python. Активно внедряю гибкие методологии разработки в компании и внутренние обучения для команд.

Образовательная организация

Более 10 000 студентов

Со всего мира прошли курсы на площадках PurpleSchool, Udemy и Stepik

Гарантия возврата денег

Если курс вам не подойдёт, мы вернём вам деньги в течение 30 дней

Практический опыт

Получите бесценный опыт реальных проектов в каждом курсе

“Я помогаю разработчикам профессионально расти, делясь опытом в своих курсах”

Антон Ларичев
Технический директор и профессиональный разработчик

Каналы и подкасты

Подкаст Не плохой код (Apple podcast, Google podcast, Яндекс Музыка)
Говорим о разработке, и о том как писать не плохой код. А в частности NodeJS, JavaScript и TypeScript.

Youtube канал PurpleSchool
Канал с обучающими видео и дополнительными материалами по тематикам курсов

Telegram канал PurpleSchool
Канал с полезными советами по разработке, разбором примеров кода и обновлениями курсов.

VK сообщество PurpleSchool
Сообщество VK с полезными советами по разработке, разбором примеров кода и обновлениями курсов.

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

1. Введение
 
1.1 Когда нужны микросервисы?
 
1.2 Как устроен курс?
1.3 Обзор проекта
1.4 Обзор курсов
 

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

3. Нотация описания архитектуры
 
3.1 Вводное видео
3.2 Разбор компонент
3.3 Использование Figma
3.4 Пример описания

4. Переход к микросервисам
 
4.1 Вводное видео
4.2 Монолит VS Микросервисы
4.3 Вопросы масштабирования
4.4 Декомпозиция функционала
4.5 Алгоритм декомпозиции
4.6 Упражнение - Схема после декомпозиции
4.7 Тест - Переход к микросервисам

5. Монорепозитории
 
5.1 Вводное видео
5.2 Монорепозиторий или нет
5.3 Обзор NestJS
5.4 Код - Настраиваем nx monorepo
5.5 Код - Создаём модели
5.6 Код - Реализуем авторизацию
5.7 Код - Запускаем проект
5.8 Тест - Монорепозитории

6. Обмен сообщениями
 
6.1 Вводное видео
6.2 Методы обмена
6.3 Простая коммуникация
6.4 Коммуникация через брокера
6.5 Минимизация синхронности
6.6 Упражнение - Доработка схемы взаимодействия
6.7 Тест - Обмен сообщениями

7. RabbitMQ
 
7.1 Вводное видео
7.2 Устанавливаем RabbitMQ
7.3 Устройство RabbitMQ
7.4 Типы exchange
7.5 Администрирование RabbitMQ
7.6 Код - Простой обмен сообщении
7.7 Код - Реализация запрос / ответ
7.8 Тест - RabbitMQ

8. Реализация взаимодействия
 
8.1 Вводное видео
8.2 Код - Добавление библиотеки контрактов
8.3 Код - Разбор nestjs-rmq
8.4 Код - Подключения rabbitmq к проекту
8.5 Код - Валидация запросов

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

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

11. Консистентность данных
 
11.1 Вводное видео
11.2 Саги - консистентность данных
11.3 Паттерн State
11.4 Код - Подготовка саги
11.5 Код - Состояния саги
11.6 Упражнение - Доработка состояний
11.7 Код - Реализация Commands
11.8 Код - Доменные события
11.9 Тест - Консистентность данных

12. Тестирование микросервисов
 
12.1 Вводное видео
12.2 Виды тестирования
12.3 Код - Тесты авторизации
12.4 Код - Тесты для Саги
12.5 Упражнение - Проверка статуса платежа
12.6 Тест - Тестирование микросервисов

13. Выкладка и эксплуатация
 
13.1 Вводное видео
13.2 Базы данных
13.3 Периодические задачи
13.4 Логирование и метрики
13.5 Особенности выкладки
13.6 С чего начать переход
13.7 Тест - Выкладка и эксплуатация

14. Заключение
 
14.1 Куда двигаться дальше?

Рейтинг курса

2.9
рейтинг
0
0
0
0
0

Может быть интересно

обновлено 19.11.2024 08:03
Microservices - паттерны и практика построения микросервисов

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

Оставить отзыв
Поделиться курсом с друзьями