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