bart
PRO
- Сообщения
- 52.242
- Реакции
- 28.422
NestJS микросервисы: делаем движок задач с нуля
Платформа: UdemyАвтор: Michael Guay
«NestJS микросервисы: делаем движок задач с нуля» — это практический курс Michael Guay на Udemy, посвящённый разработке распределённой микросервисной системы на NestJS. В рамках обучения вы создадите полноценный Job Engine — движок задач для распределённой обработки заданий, построенный на современном стеке с использованием NestJS, Nx, gRPC, Apache Pulsar, GraphQL, Prisma, Drizzle, Docker, Kubernetes и AWS.
Курс подойдёт разработчикам, которые хотят глубже понять микросервисную архитектуру, научиться проектировать распределённые системы, выстраивать взаимодействие между сервисами, работать с очередями сообщений, масштабировать приложения и готовить backend-проекты к продакшен-деплою.
О чём этот курс:
- о разработке микросервисов на NestJS;
- о создании распределённого Job Engine с нуля;
- о проектировании архитектуры нескольких сервисов;
- о работе с Nx-монорепозиторием;
- о взаимодействии сервисов через gRPC;
- об очередях сообщений на Apache Pulsar;
- о GraphQL API для внешнего взаимодействия;
- о JWT-аутентификации, Docker, Kubernetes и AWS.
Главная цель курса:
- научить проектировать микросервисную архитектуру на NestJS;
- показать создание Job Engine с распределённой обработкой задач;
- дать практику работы с gRPC, Pulsar и GraphQL;
- объяснить масштабирование и контейнеризацию сервисов;
- показать продакшен-деплой в Kubernetes и AWS;
- сформировать понимание безопасных и поддерживаемых distributed-систем.
Что вы создадите на курсе:
- полностью функциональный Job Engine;
- набор микросервисов на NestJS;
- монорепозиторий на Nx;
- gRPC-коммуникацию между сервисами;
- очереди задач на Apache Pulsar;
- GraphQL API;
- систему аутентификации на JWT;
- контейнеризированную инфраструктуру;
- деплой в Kubernetes на AWS.
Основные технологии курса:
- NestJS;
- Nx;
- gRPC;
- Apache Pulsar;
- GraphQL;
- JWT;
- Prisma ORM;
- Drizzle ORM;
- PostgreSQL;
- Docker;
- Kubernetes;
- AWS.
Монорепозиторий и управление зависимостями:
- работа с Nx;
- создание масштабируемого монорепозитория;
- организация нескольких сервисов в единой структуре;
- управление общими библиотеками;
- повторное использование кода;
- ускорение разработки и поддержки проекта.
Nx в микросервисной архитектуре:
- единая структура для нескольких приложений;
- разделение сервисов и библиотек;
- удобная навигация по проекту;
- оптимизация сборки;
- контроль зависимостей;
- масштабирование проекта без хаоса.
Взаимодействие микросервисов:
- коммуникация между сервисами через gRPC;
- быстрый обмен данными;
- низкая задержка;
- типизированные контракты;
- надёжное взаимодействие в продакшен-среде;
- разделение ответственности между сервисами.
gRPC в проекте:
- создание сервисных контрактов;
- описание методов взаимодействия;
- обмен данными между микросервисами;
- более строгая структура API;
- эффективная коммуникация внутри системы;
- подготовка архитектуры к масштабированию.
Apache Pulsar: масштабируемая система сообщений:
- очереди задач;
- асинхронная обработка сообщений;
- поддержка множества потребителей;
- горизонтальное масштабирование сервисов;
- надёжная доставка сообщений;
- интеграция в микросервисную архитектуру.
Очереди и распределённая обработка задач:
- постановка задач в очередь;
- обработка заданий несколькими сервисами;
- распределение нагрузки;
- повторная обработка при ошибках;
- контроль состояния задач;
- масштабирование обработчиков.
GraphQL API:
- создание удобного внешнего API;
- гибкое получение данных;
- управление задачами через запросы и мутации;
- снижение лишних запросов;
- единая точка взаимодействия с системой;
- удобная работа frontend или внешних клиентов с backend.
Безопасность и архитектурные практики:
- JWT-аутентификация;
- HTTP-only cookie;
- защита пользовательских данных;
- модульная структура сервисов;
- ООП-подход;
- принцип DRY;
- изоляция логики и расширяемость системы.
Безопасная аутентификация:
- JWT-токены;
- хранение через защищённые HTTP-only cookie;
- защита сессий;
- ограничение доступа к данным;
- безопасная работа с пользовательской информацией;
- снижение рисков при взаимодействии с API.
Чистая архитектура и принципы разработки:
- разделение ответственности;
- модульность;
- изоляция сервисов;
- повторное использование кода;
- минимизация дублирования;
- лёгкое расширение функциональности;
- поддерживаемая структура проекта.
Производительность и масштабирование:
- горизонтальное масштабирование сервисов;
- распределение нагрузки через очереди;
- оптимизация контейнеров;
- разделение package.json для сервисов;
- использование Nx-библиотек;
- подготовка системы к росту нагрузки.
Оптимизация сборки и контейнеризация:
- Docker-контейнеры;
- многоступенчатые сборки;
- оптимизация размера образов;
- отдельные package.json для каждого сервиса;
- сборка только нужных зависимостей;
- подготовка контейнеров к продакшену.
Горизонтальное масштабирование:
- запуск нескольких экземпляров сервисов;
- увеличение количества обработчиков задач;
- распределение нагрузки между сервисами;
- устойчивость при росте количества заданий;
- использование возможностей Apache Pulsar;
- подготовка архитектуры к реальным нагрузкам.
Отслеживание состояния задач:
- детальный трекинг статусов;
- наблюдение за выполнением заданий;
- контроль прогресса;
- обработка ошибок;
- обновление состояния в системе;
- понимание жизненного цикла задачи.
Работа с данными и базами данных:
- PostgreSQL;
- Prisma ORM;
- Drizzle ORM;
- типобезопасная работа с данными;
- миграции;
- гибкая структура хранения;
- надёжное взаимодействие сервисов с базой данных.
Prisma ORM:
- описание моделей данных;
- типобезопасные запросы;
- миграции;
- удобная работа с сущностями;
- связь приложения с PostgreSQL;
- поддерживаемая структура работы с базой.
Drizzle ORM:
- гибкая работа с SQL;
- типобезопасность;
- контроль над запросами;
- миграции;
- эффективное взаимодействие с PostgreSQL;
- альтернативный подход к работе с данными.
Деплой в Kubernetes:
- развёртывание микросервисной системы;
- работа с Kubernetes;
- деплой в AWS;
- настройка окружения;
- подключение кастомного домена;
- SSL-шифрование;
- подготовка проекта к продакшен-запуску.
AWS и облачная инфраструктура:
- размещение микросервисов в облаке;
- настройка инфраструктуры;
- работа с окружениями;
- подготовка сервисов к внешнему доступу;
- интеграция с Kubernetes;
- практика продакшен-развёртывания.
Кому подойдёт этот курс:
- backend-разработчикам;
- NestJS-разработчикам;
- Node.js и TypeScript разработчикам;
- инженерам, изучающим микросервисы;
- тем, кто хочет освоить gRPC и очереди сообщений;
- разработчикам, которым интересны Kubernetes и AWS;
- тем, кто хочет создать серьёзный проект для портфолио.
Что вы получите после обучения:
- рабочий распределённый Job Engine;
- понимание микросервисной архитектуры на NestJS;
- опыт работы с Nx-монорепозиторием;
- практику gRPC-коммуникации;
- навыки интеграции Apache Pulsar;
- опыт создания GraphQL API;
- понимание JWT-аутентификации и HTTP-only cookie;
- практику деплоя в Kubernetes и AWS.
Курс будет полезен, если вы хотите:
- прокачать навыки разработки микросервисов;
- освоить NestJS на продвинутом уровне;
- создать систему распределённой обработки задач;
- понять, как использовать gRPC в backend-архитектуре;
- работать с Apache Pulsar и очередями;
- настроить GraphQL API;
- развернуть микросервисы в Kubernetes;
- получить практический опыт облачного деплоя.
- проектирование микросервисов на NestJS;
- работа с Nx-монорепозиторием;
- межсервисная коммуникация через gRPC;
- асинхронная обработка задач через Apache Pulsar;
- создание GraphQL API;
- JWT-аутентификация;
- работа с Prisma ORM и Drizzle ORM;
- контейнеризация через Docker;
- деплой в Kubernetes;
- работа с AWS, доменом и SSL.
- распределённый Job Engine;
- микросервисная архитектура на NestJS;
- система очередей задач;
- масштабируемые обработчики;
- GraphQL API для управления данными;
- безопасная авторизация;
- контейнеризированные сервисы;
- продакшен-деплой в Kubernetes.
- полностью практический подход;
- создание проекта с нуля до продакшена;
- актуальный стек backend-разработки;
- глубокая работа с микросервисами;
- изучение Pulsar, gRPC, GraphQL, Kubernetes и AWS;
- фокус на масштабируемости, безопасности и архитектуре;
- проект, который можно использовать в портфолио.
Язык: Английский
Продажник:
Для просмотра вы должны войти или зарегистрироваться.
Скачать:
Скрытое содержимое могут видеть только пользователь группы: PRO
Качать без ограничений Купить доступ к 1 теме
Качать без ограничений Купить доступ к 1 теме
Скрытое содержимое для пользователей: Ferr