Udemy

NestJS Microservices: Build a Distributed Job Engine

Enroll Now
  • 1,190 Students
  • Updated 3/2025
4.6
(94 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
15 Hour(s) 10 Minute(s)
Language
English
Taught by
Michael Guay
Rating
4.6
(94 Ratings)

Course Overview

NestJS Microservices: Build a Distributed Job Engine

Master NestJS Microservices by Building a Scalable, Distributed Job Engine with gRPC, Pulsar, Kubernetes & AWS

Master the art of building scalable, distributed microservices with NestJS by developing a fully functional job engine from the ground up. This course is designed to teach you NestJS microservices the right way, covering everything from architecture and design to deployment and scaling in production.

You’ll start by setting up a monorepo with Nx, allowing you to manage multiple services within a single codebase efficiently. Using gRPC as the transport layer, you'll enable high-performance, low-latency communication between services. The course dives into Apache Pulsar, a powerful distributed messaging system, that allows us to add multiple consumers to a shared queue & achieve scale. You'll also expose a GraphQL API, providing a flexible and efficient way to interact with your microservices.

Security is a core focus, and you'll implement JWT-based authentication with secure, HTTP-only cookies. Throughout the course, everything is built using object-oriented design principles, ensuring a clean, modular, and reusable codebase that follows DRY (Don’t Repeat Yourself) principles. This makes your codebase more maintainable as it scales.

You'll also optimize your Docker setup, using Nx libraries with separate package.json files for better dependency management. Horizontal scaling techniques will ensure your services can handle increasing workloads efficiently. As your job engine matures, you'll implement job state tracking, allowing you to monitor job progress.

For database management, you’ll use Prisma ORM and Drizzle ORM with PostgreSQL, ensuring type safety, migrations, and optimized queries. Finally, you’ll deploy everything to Kubernetes, taking your microservices to production with AWS, a custom domain, and SSL encryption.

By the end of this course, you'll have a fully operational distributed job engine with robust state tracking and the expertise to design, develop, and deploy scalable NestJS microservices in real-world production environments.

Course Content

  • 10 section(s)
  • 107 lecture(s)
  • Section 1 Introduction
  • Section 2 Users
  • Section 3 Cleanup
  • Section 4 Authentication
  • Section 5 Jobs
  • Section 6 gRPC Transport
  • Section 7 Pulsar Job Executor
  • Section 8 Message Batching
  • Section 9 Dockerization
  • Section 10 Logging

What You’ll Learn

  • Build a fully functional distributed job engine using NestJS microservices
  • Structure a scalable monorepo using Nx for efficient development and dependency management
  • Implement gRPC as the transport layer for high-performance, low-latency communication
  • Use Apache Pulsar for distributed messaging and reliable job processing
  • Expose a GraphQL API for flexible data access and interaction
  • Secure microservices with JWT authentication and HTTP-only cookies
  • Apply object-oriented design principles to keep code modular, reusable, and maintainable
  • Implement horizontal scaling to efficiently handle high workloads
  • Optimize Dockerization with Nx libraries and independent package.json files
  • Use Prisma ORM and Drizzle ORM with PostgreSQL for robust database management
  • Deploy microservices to Kubernetes with best practices for production readiness
  • Set up a production-grade AWS deployment with a custom domain and SSL encryption
  • Gain hands-on experience designing, developing, and deploying real-world NestJS microservices


Reviews

  • E
    Eric Asinas
    4.0

    On top of the GraphQL endpoint, I think it is a good idea to add a REST option for the auth and jobs microservices. It can work in parallel with the GraphQL option and use the same services, decorators and auth guards.

  • N
    Nisha Baid
    5.0

    This course is amazing. I have learned a lot of things such as message queues, CI with GitHub Actions, CD with AWS, gRPC for service-to-service communication, and how to implement logging for both GraphQL and gRPC.

  • D
    Daniil Orain
    2.5

    Couldn't finish it, because I couldn't run the pulsar client in the docker environment for some reason 🤷‍♂️

  • M
    Martin Henderson
    5.0

    Best NestJS course

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed