Освойте искусство создания масштабируемых и распределённых микросервисов на NestJS, разработав с нуля полностью функциональный Job Engine - систему распределённой обработки заданий. Курс научит вас строить микросервисы правильным способом: от архитектуры и проектирования до деплоя и масштабирования в продакшене.
Вы начнёте с настройки монорепозитория с Nx, чтобы эффективно управлять несколькими сервисами в едином кодовой базе. С помощью gRPC вы реализуете высокопроизводительное и низкозадержное взаимодействие между сервисами. Особое внимание уделяется Apache Pulsar - распределённой системе обмена сообщениями, которая позволяет подключать множество потребителей к общей очереди и достигать горизонтального масштабирования. Для взаимодействия с системой вы создадите GraphQL API, обеспечивающий гибкий и удобный доступ к данным.
Безопасность - один из ключевых аспектов курса: вы внедрите аутентификацию на основе JWT с защищёнными HTTP-only cookie. Весь код строится по принципам объектно-ориентированного проектирования и DRY, что делает архитектуру чистой, модульной и легко поддерживаемой при росте проекта.
Вы оптимизируете сборку контейнеров Docker, примените Nx-библиотеки и отдельные package.json для гибкого управления зависимостями. Научитесь приёмам горизонтального масштабирования, чтобы ваши сервисы выдерживали растущие нагрузки. По мере развития движка будет реализовано отслеживание состояния заданий, позволяющее наблюдать прогресс их выполнения.
Для работы с базой данных используется Prisma ORM и Drizzle ORM с PostgreSQL - для типобезопасных миграций и оптимизированных запросов. Финальным этапом станет деплой в Kubernetes с использованием AWS, собственным доменом и SSL-шифрованием.
К окончанию курса вы получите полностью рабочий распределённый Job Engine, а также системное понимание того, как проектировать, разрабатывать и запускать масштабируемые микросервисы на NestJS в реальных продакшен-средах.
Посмотреть больше
Урок 1.00:03:40
1.1 -Introduction
Урок 2.00:06:52
1.2 -System Architecture
Урок 3.00:01:36
1.3 -Prerequisites
Урок 4.00:01:08
1.4 -Resources
Урок 5.00:09:56
1.5 -Nx Monorepo Setup - Part 1
Урок 6.00:08:19
1.6 -Nx Monorepo Setup - Part 2
Урок 7.00:10:40
1.7 -GitHub Actions CI
Урок 8.00:12:59
2.1 -Prisma Schema
Урок 9.00:12:43
2.2 -Nx Prisma Targets
Урок 10.00:09:22
2.3 -GraphQL & Nx Libs - Part 1
Урок 11.00:10:45
2.4 -GraphQL & Nx Libs - Part 2
Урок 12.00:16:11
2.5 -Users Mutation & Query
Урок 13.00:06:45
3.1 -Commit Hooks
Урок 14.00:05:05
3.2 -Unit Tests
Урок 15.00:02:34
3.3 -Config Module
Урок 16.00:01:14
3.4 -Nx Options
Урок 17.00:07:34
4.1 -JWT Module
Урок 18.00:02:34
4.2 -Config Cleanup
Урок 19.00:12:50
4.3 -User Verification
Урок 20.00:13:38
4.4 -Sign JWT Cookie
Урок 21.00:14:32
4.5 -JWT Strategy
Урок 22.00:02:57
4.6 -User Parameter Decorator
Урок 23.00:00:43
4.7 -Auth Playground Settings
Урок 24.00:05:26
5.1 -Generate Application
Урок 25.00:09:17
5.2 -Job Decorator
Урок 26.00:07:25
5.3 -Discovery Module
Урок 27.00:16:10
5.4 -Jobs Resolver
Урок 28.00:00:43
5.5 -Jobs Playground Settings
Урок 29.00:07:47
6.1 -Auth Proto
Урок 30.00:13:22
6.2 -TS Proto
Урок 31.00:10:08
6.3 -gRPC Server
Урок 32.00:07:32
6.4 -Auth Controller & Client
Урок 33.00:11:08
6.5 -gRPC GQL Auth Guard
Урок 34.00:06:45
6.6 -gRPC Auth Strategy
Урок 35.00:12:20
7.1 -Pulsar Client
Урок 36.00:16:51
7.2 -Abstract Job Producer
Урок 37.00:10:45
7.3 -Abstract Consumer
Урок 38.00:11:49
7.4 -Job Executor
Урок 39.00:04:49
7.5 -JSON GraphQL Scalar
Урок 40.00:13:32
7.6 -Message Serialization & Error Handling
Урок 41.00:07:16
7.7 -Job Validation
Урок 42.00:07:52
8.1 -Pulsar Batch Producer
Урок 43.00:16:50
8.2 -Backlog Test Script
Урок 44.00:11:25
9.1 -NPM Workspaces
Урок 45.00:08:34
9.2 -New Libraries
Урок 46.00:08:20
9.3 -Library Dependencies
Урок 47.00:08:18
9.4 -Library Webpack
Урок 48.00:09:16
9.5 -Update Applications
Урок 49.00:09:10
9.6 -Module Alias
Урок 50.00:13:35
9.7 -Jobs Dockerfile
Урок 51.00:07:50
9.8 -Finish Dockerfiles
Урок 52.00:09:31
9.9 -Common Webpack
Урок 53.00:09:16
10.1 -Pino Logger
Урок 54.00:08:07
10.2 -GraphQL Logger
Урок 55.00:08:48
10.3 -gRPC Logger
Урок 56.00:04:17
11.1 -Elastic Container Registry
Урок 57.00:14:06
11.2 -GitHub Action ECR
Урок 58.00:03:30
11.3 -Minikube
Урок 59.00:01:25
11.4 -Update Prettier
Урок 60.00:04:16
11.5 -Create Helm Chart
Урок 61.00:12:18
11.6 -Jobs Deployment
Урок 62.00:06:36
11.7 -Registry Creds Addon
Урок 63.00:12:10
11.8 -Pulsar & Postgres
Урок 64.00:09:22
11.9 -Environment Variables
Урок 65.00:02:27
11.10 -Prisma Debian
Урок 66.00:12:42
11.11 -Executor & Auth Deployment
Урок 67.00:02:01
11.12 -Auth gRPC URL
Урок 68.00:09:23
11.13 -Services
Урок 69.00:06:56
11.14 -Minikube Service
Урок 70.00:09:32
11.15 -Prisma Migrations
Урок 71.00:15:16
11.16 -Job Execution
Урок 72.00:09:53
12.1 -Fibonacci Script
Урок 73.00:08:59
12.2 -Horizontal Scaling
Урок 74.00:15:44
13.1 -File Upload
Урок 75.00:04:41
13.2 -Products Service
Урок 76.00:15:36
13.3 -Drizzle ORM
Урок 77.00:07:28
13.4 -Drizzle Kit Migrations
Урок 78.00:07:59
13.5 -Products Proto
Урок 79.00:04:37
13.6 -Products gRPC
Урок 80.00:13:37
13.7 -Load Products Job
Урок 81.00:12:36
13.8 -Job File Data
Урок 82.00:03:36
13.9 -Load Products Consumer
Урок 83.00:08:48
13.10 -Products gRPC Client
Урок 84.00:12:08
13.11 -Categories
Урок 85.00:07:52
13.12 -Products Dockerfile
Урок 86.00:12:00
13.13 -Products Helm
Урок 87.00:07:12
13.14 -Products Helm Testing
Урок 88.00:08:51
13.15 -Jobs Volume
Урок 89.00:08:31
14.1 -Jobs Prisma
Урок 90.00:08:11
14.2 -Save Job
Урок 91.00:11:13
14.3 -Job Acknowledge
Урок 92.00:13:44
14.4 -Executor Acknowledge
Урок 93.00:03:24
14.5 -Acknowledge Testing
Урок 94.00:03:11
14.6 -Jobs Dockerfile Prisma
Урок 95.00:10:36
14.7 -Acknowledge Helm
Урок 96.00:07:49
14.8 -Job Status Resolver
Урок 97.00:10:20
15.1 -Ingress
Урок 98.00:03:49
15.2 -AWS CLI
Урок 99.00:03:44
15.3 -Elastic Kubernetes Service
Урок 100.00:08:22
15.4 -LB Controller & CSI Driver
Урок 101.00:09:26
15.5 -AWS Helm Chart - Part 1
Урок 102.00:08:28
15.6 -AWS Helm Chart - Part 2
Урок 103.00:06:45
15.7 -Horizontal Scaling
Урок 104.00:10:08
15.8 -Custom Domain & SSL
Авторы - Michael Guay, udemy
Michael Guay
Michael Guay - профессиональный full-stack инженер с более чем 10 годами опыта разработки корпоративного ПО. Он работает в сфере финансовых технологий и специализируется на производительных backend-системах, микросервисах и современном фронтенде. На своём канале YouTube (24 тыс+ подписчиков) и на Udemy он делится знаниями по темам вроде NestJS, tRPC, Next.js и полной стек-разработке. На его сайте публикует практические кейсы: архитектура, произв
+7
udemy
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.
Народ уже отказывается от микросервисной каши из кала, а тут люди всё ещё пилят курсы. Нам нужны курсы про монолиты, про величественные мололиты.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Мастер-класс по NestJS: Полное руководство по бэкенду на NodeJS
NestJS Masterclass - NodeJS Framework Backend Development
NestJS - это фреймворк для Node.js, предназначенный для создания эффективных, надежных и масштабируемых серверных приложений. Его архитектура вдохновлена Angular, и благодаря этому подходу NestJS стал популярным, с более чем 3 миллионами загрузок на NPM еженедельно.Когда я изучал NestJS, мне приходилось преодолевать крутую кривую обучения. Мне не хватало подробного и структурированного курса, который упростил бы этот процесс. Именно поэтому я соз
Раскройте потенциал масштабируемой и устойчивой архитектуры программного обеспечения с нашим курсом по микросервисам. Подготовьтесь к подробному учебному курсу и практическому руководству по микросервисам с использованием приложений NestJS от самого создателя Камиля Мысливца и Марка Пишака (члена основной команды).
Если вы знакомы с Angular, у вас уже есть значительное преимущество при изучении NestJS. Синтаксис и архитектура в значительной степени вдохновлены Angular, и его часто описывают как Angular для Node.Наша цель - разработать полностью функциональный и масштабируемый слой API для использования одним или несколькими фронтенд-приложениями. Мы начнем с обсуждения того, как концептуализировать и организовать наш код в соответствии с предметной областью
В этом курсе мы рассмотрим множество мощных архитектурных концепций и паттернов, используемых в некоторых из самых сложных систем Node.js в реальном мире!От N-Tier и шестиугольной архитектуры до Domain Driven-Design и многого другого, вы будете готовы строить системы мирового класса на NestJS / Node.js в кратчайшие сроки! Подготовьтесь к подробному путеводителю и обзору реальных продвинутых архитектурных концепций и паттернов от создателя Камиля