NestJS 微服务:构建分布式作业引擎
NestJS Microservices: Build a Distributed Job Engine
通过使用gRPC、Pulsar、Kubernetes和AWS构建可扩展的分布式作业引擎,掌握NestJS微服务
学习内容
-
使用 NestJS 微服务构建功能齐全的分布式作业引擎
-
使用 Nx 构建可扩展的 monorepo 以实现高效的开发和依赖项管理
-
实现 gRPC 作为传输层,以实现高性能、低延迟的通信
-
使用 Apache Pulsar 进行分布式消息传递和可靠的作业处理
-
公开 GraphQL API 以实现灵活的数据访问和交互
-
使用 JWT 身份验证和仅限 HTTP 的 Cookie 保护微服务
-
应用面向对象的设计原则,使代码保持模块化、可重用和可维护
-
实施水平扩展以高效处理高工作负载
-
使用 Nx 库和独立的 package.json 文件优化 Docker 化
-
将 Prisma ORM 和 Drizzle ORM 与 PostgreSQL 结合使用,实现强大的数据库管理
-
使用生产就绪的最佳实践将微服务部署到 Kubernetes
-
使用自定义域和 SSL 加密设置生产级 AWS 部署
-
获得设计、开发和部署实际 NestJS 微服务的实践经验
要求
-
JavaScript 或 TypeScript 的基本知识
-
熟悉 Node.js 和后端开发概念
-
了解 REST API(GraphQL 知识会有所帮助,但不是必需的)
-
使用 PostgreSQL 等数据库的一些经验是有益的
-
基本了解 Docker 和容器化概念
-
熟悉基本的 NestJS 概念
-
熟悉 Kubernetes 进行部署
描述
通过从头开始开发功能齐全的作业引擎,掌握使用 NestJS 构建可扩展的分布式微服务的技巧。本课程旨在以正确的方式教您 NestJS 微服务,涵盖从架构和设计到生产中的部署和扩展的所有内容。
首先,您将使用 NX 设置 monorepo,从而使您能够在单个代码库中高效管理多个服务。使用 gRPC 作为传输层,您将在服务之间实现高性能、低延迟的通信。该课程深入探讨了Apache Pulsar,这是一个强大的分布式消息传递系统,它允许我们将多个消费者添加到共享队列中并实现规模化。您还将公开 GraphQL API,提供一种灵活高效的方式来与微服务交互。
安全性是一个核心重点,您将使用安全的、仅限 HTTP 的 Cookie 实施基于 JWT 的身份验证。在整个课程中,一切都是使用面向对象的设计原则构建的,确保遵循 DRY(不要重复自己)原则的干净、模块化和可重用的代码库。这使得您的代码库在扩展时更易于维护。
您还将优化 Docker 设置,使用具有单独 package.json 文件的 Nx 库来更好地管理依赖项。水平扩展技术将确保您的服务能够有效地处理不断增加的工作负载。随着任务引擎的成熟,您将实施任务状态跟踪,从而允许您监控任务进度。
对于数据库管理,您将使用 PostgreSQL 的 Prisma ORM 和 Drizzle ORM,确保类型安全、迁移和优化查询。最后,您将所有内容部署到 Kubernetes,使用 AWS、自定义域和 SSL 加密将微服务投入生产。
在本课程结束时,您将拥有一个完全可作的分布式作业引擎,具有强大的状态跟踪功能,以及在实际生产环境中设计、开发和部署可扩展 NestJS 微服务的专业知识。
本课程适合谁:
- 希望通过 Node.js 实现扩展的后端开发人员
- 希望掌握 NestJS 微服务的后端开发人员
- 有兴趣学习 gRPC 和 Apache Pulsar 以实现高性能通信和作业处理的软件工程师
- 对使用 NestJS 构建实际生产级应用程序的开发人员
- 任何希望获得 Prisma、Drizzle、Docker 和 GraphQL 等现代后端技术的实践经验的人
- 那些希望提高设计可扩展、可维护和高效微服务架构的能力的人
评论(0)