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

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

What you will learn

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

About this course

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Whom this course is for

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

Initial requirements

Чтобы получить максимум, рекомендуется знание Node.js. Для других языков полезным будет только часть курса.

Meet the Instructors

Course content

loading...
Certificate

Certificate

Антон Ларичев

Price

Price: RUB 1,890
Try for free
You've tried this course and realized it's not for you? That's fine, we will pay you back within 30 days from the purchase.

FAQ

Share this course

Price: RUB 1,890
Try for free