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

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

Ratings: 4.33 / 5.00




Description

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

What You Will Learn!

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

Who Should Attend!

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