{"id":8530,"date":"2026-08-10T09:57:09","date_gmt":"2026-08-10T09:57:09","guid":{"rendered":"https:\/\/nokobox.com\/index.php\/item\/michael-guay-nestjs-microservices-build-a-distributed-job-engine-2025-2\/"},"modified":"2026-08-10T09:57:09","modified_gmt":"2026-08-10T09:57:09","slug":"michael-guay-nestjs-microservices-build-a-distributed-job-engine-2025-2","status":"publish","type":"digital_item","link":"https:\/\/nokobox.com\/index.php\/item\/michael-guay-nestjs-microservices-build-a-distributed-job-engine-2025-2\/","title":{"rendered":"Michael Guay \u2013 NestJS Microservices: Build a Distributed Job Engine 2025-2"},"content":{"rendered":"<div class=\"w-post-elm post_content\">\n<h2><span style=\"vertical-align: inherit\">Description<\/span><\/h2>\n<p data-sourcepos=\"7:1-7:372\"><span style=\"vertical-align: inherit\">NestJS Microservices: Build a Distributed Job Engine. In this course, you will learn the art of building scalable, distributed microservices using NestJS. You will get hands-on experience with the technology by developing a fully functional job execution engine from start to finish. This course teaches you how to properly design and implement NestJS microservices, from architecture and design to deployment and scaling in production.<\/span><\/p>\n<p data-sourcepos=\"7:1-7:372\"><span style=\"vertical-align: inherit\">This comprehensive and practical course will guide you from the basics to the most advanced concepts of NestJS microservices. By focusing on various aspects of microservices development, including architecture, design, implementation, deployment, and scaling, you will be able to create complex and powerful distributed systems. This course will also help you become familiar with popular tools and technologies in the world of microservices development, such as GraphQL, gRPC, Docker, and Kubernetes.<\/span><\/p>\n<h3 data-sourcepos=\"9:1-9:25\"><span style=\"vertical-align: inherit\">What you will learn:<\/span><\/h3>\n<ul data-sourcepos=\"11:1-23:0\">\n<li data-sourcepos=\"11:1-11:120\"><span style=\"vertical-align: inherit\">Introduction: Creating a GitHub repository, system architecture, setting up Nx Monorepo, CI with GitHub Actions, working with users and Prisma Schema.<\/span><\/li>\n<li data-sourcepos=\"12:1-12:98\"><span style=\"vertical-align: inherit\">GraphQL and Nx libraries: Creating queries and mutations, working with GraphQL and Nx libraries.<\/span><\/li>\n<li data-sourcepos=\"13:1-13:117\"><span style=\"vertical-align: inherit\">Validation: Implementing authentication mechanisms with JWT, creating authentication strategies and user parameter decorators.<\/span><\/li>\n<li data-sourcepos=\"14:1-14:88\"><span style=\"vertical-align: inherit\">Tasks: Create task decorators, discovery modules, task solvers, and game environment settings.<\/span><\/li>\n<li data-sourcepos=\"15:1-15:107\"><span style=\"vertical-align: inherit\">gRPC Transport: Creating gRPC protocols, gRPC server, controllers and clients, and gRPC authentication guards.<\/span><\/li>\n<li data-sourcepos=\"16:1-16:143\"><span style=\"vertical-align: inherit\">Pulsar Task Executor: Creating abstract producers and consumers, task executor, message serialization and error handling, message categorization.<\/span><\/li>\n<li data-sourcepos=\"17:1-17:112\"><span style=\"vertical-align: inherit\">Docker: Create Dockerfiles for libraries and applications, update applications, create shared webpack modules.<\/span><\/li>\n<li data-sourcepos=\"18:1-18:84\"><span style=\"vertical-align: inherit\">Logging: Use Pino Logger to log GraphQL, gRPC, and other components.<\/span><\/li>\n<li data-sourcepos=\"19:1-19:120\"><span style=\"vertical-align: inherit\">Kubernetes: Creating Helm charts, deploying tasks, setting environment variables, Prisma migrations, running tasks, horizontal scaling.<\/span><\/li>\n<li data-sourcepos=\"20:1-20:127\"><span style=\"vertical-align: inherit\">Products: File upload, product services, using Drizzle ORM, creating gRPC protocols for products, product upload tasks.<\/span><\/li>\n<li data-sourcepos=\"21:1-21:80\"><span style=\"vertical-align: inherit\">Task status: Save and approve tasks, approve the performer, resolve task status.<\/span><\/li>\n<li data-sourcepos=\"22:1-23:0\"><span style=\"vertical-align: inherit\">Production environment: Creating Ingress, using AWS EKS, configuring LB Controller and CSI Driver, creating Helm charts for AWS, scaling horizontally, setting up custom domains and SSL.<\/span><\/li>\n<\/ul>\n<h3 data-sourcepos=\"24:1-24:31\"><span style=\"vertical-align: inherit\">This course is suitable for people who:<\/span><\/h3>\n<ul data-sourcepos=\"26:1-30:0\">\n<li data-sourcepos=\"26:1-26:66\"><span style=\"vertical-align: inherit\">Looking to learn how to build scalable microservices with NestJS.<\/span><\/li>\n<li data-sourcepos=\"27:1-27:71\"><span style=\"vertical-align: inherit\">They want to implement a distributed task execution engine from scratch.<\/span><\/li>\n<li data-sourcepos=\"28:1-28:75\"><span style=\"vertical-align: inherit\">Have basic knowledge of Node.js, TypeScript, and object-oriented programming concepts.<\/span><\/li>\n<li data-sourcepos=\"29:1-30:0\"><span style=\"vertical-align: inherit\">They are looking to learn software development best practices.<\/span><\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Course details NestJS Microservices: Build a Distributed Job Engine<\/span><\/h3>\n<ul>\n<li><span style=\"vertical-align: inherit\">Publisher: <\/span><a href=\"https:\/\/href.li\/?https:\/\/michaelguay.dev\/courses\/nestjs-microservices-build-a-distributed-job-manager\/\" target=\"_blank\" rel=\"noopener\"><span style=\"vertical-align: inherit\">michealguay<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Instructor: <\/span><a href=\"https:\/\/downloadlynet.ir\/tag\/michael-guay\/\"><span class=\"ud-btn-label\"><span style=\"vertical-align: inherit\">Michael Guay<\/span><\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Training level: Beginner to advanced<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Training duration: 14 hours and 48 minutes<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Number of lessons: 105<\/span><\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Course topics<\/span><\/h3>\n<div id=\"section1\" class=\"mpcs-section\">\n<div class=\"mpcs-section-header\">&nbsp;<\/div>\n<\/div>\n<div id=\"section15\" class=\"mpcs-section\">\n<div class=\"mpcs-lessons\">\n<div id=\"mpcs-lesson-1954\" class=\"mpcs-lesson \">\n<div class=\"mpcs-lesson-link\" dir=\"ltr\" style=\"direction: ltr;text-align: left\">Introduction<br \/>GitHub Repository<br \/>System Architecture<br \/>Nx Monorepo Setup \u2013 Part 1<br \/>Nx Monorepo Setup \u2013 Part 2<br \/>GitHub Actions CI<br \/>Users<br \/>Prisma Schema<br \/>Nx Prisma Targets<br \/>GraphQL &amp; Nx Libs \u2013 Part 1<br \/>GraphQL &amp; Nx Libs \u2013 Part 2<br \/>Users Mutation &amp; Query<br \/>Extra<br \/>Commit Hooks<br \/>Unit Tests<br \/>Config Module<br \/>Nx Options<br \/>Authentication<br \/>JWT Module<br \/>Config Cleanup<br \/>User Verification<br \/>Sign JWT Cookie<br \/>JWT Strategy<br \/>User Parameter Decorator<br \/>Auth Playground Settings<br \/>Jobs<br \/>Generate Application<br \/>Job Decorator<br \/>Discovery Module<br \/>Jobs Resolver<br \/>Jobs Playground Settings<br \/>gRPC Transport<br \/>Auth Proto<br \/>TS Proto<br \/>gRPC Server<br \/>Auth Controller &amp; Client<br \/>gRPC GQL Auth Guard<br \/>gRPC Auth Strategy<br \/>Pulsar Job Executor<br \/>Pulsar Client<br \/>Abstract Job Producer<br \/>Abstract Consumer<br \/>Job Executor<br \/>JSON GraphQL Scalar<br \/>Message Serialization &amp; Error Handling<br \/>Job Validation<br \/>Message Batching<br \/>Pulsar Batch Producer<br \/>Backlog Test Script<br \/>Dockerization<br \/>Npm Workspaces<br \/>New Libraries<br \/>Library Dependencies<br \/>Library Webpack<br \/>Update Applications<br \/>Module Alias<br \/>Jobs Dockerfile<br \/>Finish Dockerfiles<br \/>Common Webpack<br \/>Logging<br \/>Pino Logger<br \/>GraphQL Logger<br \/>gRPC Logger<br \/>Kubernetes<br \/>Elastic Container Registry<br \/>GitHub Action ECR<br \/>Minikube<br \/>Update Prettier<br \/>Create Helm Chart<br \/>Jobs Deployment<br \/>Registry Creds Addon<br \/>Pulsar &amp; Postgres<br \/>Environment Variables<br \/>Prisma Debian<br \/>Executor &amp; Auth Deployment<br \/>Auth gRPC URL<br \/>Services<br \/>Minikube Service<br \/>Prisma Migrations<br \/>Job Execution<br \/>Horizontal Scaling<br \/>Fibonacci Script<br \/>Horizontal Scaling<br \/>Products<br \/>File Upload<br \/>Products Service<br \/>Drizzle ORM<br \/>Drizzle Kit Migrations<br \/>Products Proto<br \/>Products gRPC<br \/>Load Products Job<br \/>Job File Data<br \/>Load Products Consumer<br \/>Products gRPC Client<br \/>Categories<br \/>Products Dockerfile<br \/>Products Helm<br \/>Products Helm Testing<br \/>Jobs Volume<br \/>Job Status<br \/>Jobs Prisma<br \/>Save Job<br \/>Job Acknowledge<br \/>Executor Acknowledge<br \/><span style=\"vertical-align: inherit\">Acknowledge Testing <\/span><br \/><span style=\"vertical-align: inherit\">Jobs Dockerfile Prisma <\/span><br \/><span style=\"vertical-align: inherit\">Acknowledge Helm <\/span><br \/><span style=\"vertical-align: inherit\">Job Status Resolver <\/span><br \/><span style=\"vertical-align: inherit\">Production <\/span><br \/><span style=\"vertical-align: inherit\">Ingress <\/span><br \/><span style=\"vertical-align: inherit\">AWS CLI <\/span><br \/><span style=\"vertical-align: inherit\">Elastic Kubernetes Service <\/span><br \/><span style=\"vertical-align: inherit\">LB Controller &amp; CSI Driver <\/span><br \/><span style=\"vertical-align: inherit\">AWS Helm Chart \u2013 Part 1 <\/span><br \/><span style=\"vertical-align: inherit\">AWS Helm Chart \u2013 Part 2 <\/span><br \/><span style=\"vertical-align: inherit\">Horizontal Scaling <\/span><br \/><span style=\"vertical-align: inherit\">Custom Domain &amp; SSL<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<h3><span style=\"vertical-align: inherit\">Course images<\/span><\/h3>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-962267 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2025\/02\/NestJS-Microservices-Build-a-Distributed-Job-Engine2.png\" alt=\"NestJS Microservices: Build a Distributed Job Engine\" width=\"412\" height=\"667\"><\/h2>\n<h3><span style=\"vertical-align: inherit\">Sample course video<\/span><\/h3>\n<div style=\"width: 640px;\" class=\"wp-video\"><span class=\"mejs-offscreen\">Video Player<\/span><\/p>\n<div id=\"mep_0\" class=\"mejs-container mejs-container-keyboard-inactive wp-video-shortcode mejs-video\" tabindex=\"0\" role=\"application\" aria-label=\"Video Player\" style=\"width: 640px; height: 360px; min-width: 217px;\">\n<div class=\"mejs-inner\">\n<div class=\"mejs-mediaelement\"><mediaelementwrapper id=\"video-153989-1\"><video class=\"wp-video-shortcode\" id=\"video-153989-1_html5\" width=\"640\" height=\"360\" preload=\"metadata\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/NestJS_Microservices_Build_a_Distributed_Job_Engine_Downloadly.ir.mp4?_=1\" style=\"width: 640px; height: 360px;\"><source type=\"video\/mp4\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/NestJS_Microservices_Build_a_Distributed_Job_Engine_Downloadly.ir.mp4?_=1\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/NestJS_Microservices_Build_a_Distributed_Job_Engine_Downloadly.ir.mp4?nocache=1786112526844\">https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/NestJS_Microservices_Build_a_Distributed_Job_Engine_Downloadly.ir.mp4<\/a><\/video><\/mediaelementwrapper><\/div>\n<div class=\"mejs-layers\">\n<div class=\"mejs-poster mejs-layer\" style=\"display: none; width: 100%; height: 100%;\"><\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-loading\"><span class=\"mejs-overlay-loading-bg-img\"><\/span><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-error\"><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer mejs-overlay-play\" style=\"width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-button\" role=\"button\" tabindex=\"0\" aria-label=\"Play\" aria-pressed=\"false\"><\/div>\n<\/div>\n<\/div>\n<div class=\"mejs-controls\">\n<div class=\"mejs-button mejs-playpause-button mejs-play\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Play\" aria-label=\"Play\" tabindex=\"0\"><\/button><\/div>\n<div class=\"mejs-time mejs-currenttime-container\" role=\"timer\" aria-live=\"off\"><span class=\"mejs-currenttime\">00:00<\/span><\/div>\n<div class=\"mejs-time-rail\"><span class=\"mejs-time-total mejs-time-slider\" role=\"slider\" tabindex=\"0\" aria-label=\"Time Slider\" aria-valuemin=\"0\" aria-valuemax=\"0\" aria-valuenow=\"0\" aria-valuetext=\"00:00\"><span class=\"mejs-time-buffering\" style=\"display: none;\"><\/span><span class=\"mejs-time-loaded\"><\/span><span class=\"mejs-time-current\"><\/span><span class=\"mejs-time-hovered no-hover\"><\/span><span class=\"mejs-time-handle\"><span class=\"mejs-time-handle-content\"><\/span><\/span><span class=\"mejs-time-float\"><span class=\"mejs-time-float-current\">00:00<\/span><span class=\"mejs-time-float-corner\"><\/span><\/span><\/span><\/div>\n<div class=\"mejs-time mejs-duration-container\"><span class=\"mejs-duration\">00:00<\/span><\/div>\n<div class=\"mejs-button mejs-volume-button mejs-mute\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Mute\" aria-label=\"Mute\" tabindex=\"0\"><\/button><a href=\"javascript:void(0);\" class=\"mejs-volume-slider\" aria-label=\"Volume Slider\" aria-valuemin=\"0\" aria-valuemax=\"100\" role=\"slider\" aria-orientation=\"vertical\"><span class=\"mejs-offscreen\">Use Up\/Down Arrow keys to increase or decrease volume.<\/span><\/p>\n<div class=\"mejs-volume-total\">\n<div class=\"mejs-volume-current\" style=\"bottom: 0px; height: 100%;\"><\/div>\n<div class=\"mejs-volume-handle\" style=\"bottom: 100%; margin-bottom: -3px;\"><\/div>\n<\/div>\n<p><\/a><\/div>\n<div class=\"mejs-button mejs-fullscreen-button\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Fullscreen\" aria-label=\"Fullscreen\" tabindex=\"0\"><\/button><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<h3><span style=\"vertical-align: inherit\">Installation Guide<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">After Extract, view with your favorite player.<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Subtitles: None<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Quality: 720p<\/span><\/p>\n<\/div>\n<h3><span style=\"vertical-align: inherit\">Download link<\/span><\/h3>\n<p><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Michael_Guay_NestJS_Microservices_Build_a_Distributed_Job_Engine_2025-2.part1_Downloadly.ir.rar?nocache=1786112525\"><span style=\"vertical-align: inherit\">Download Part 1 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Michael_Guay_NestJS_Microservices_Build_a_Distributed_Job_Engine_2025-2.part2_Downloadly.ir.rar?nocache=1786112525\"><span style=\"vertical-align: inherit\">Download Part 2 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Michael_Guay_NestJS_Microservices_Build_a_Distributed_Job_Engine_2025-2.part3_Downloadly.ir.rar?nocache=1786112525\"><span style=\"vertical-align: inherit\">Download Part 3 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Michael_Guay_NestJS_Microservices_Build_a_Distributed_Job_Engine_2025-2.part4_Downloadly.ir.rar?nocache=1786112525\"><span style=\"vertical-align: inherit\">Download Part 4 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Michael_Guay_NestJS_Microservices_Build_a_Distributed_Job_Engine_2025-2.part5_Downloadly.ir.rar?nocache=1786112525\"><span style=\"vertical-align: inherit\">Download Part 5 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Michael_Guay_NestJS_Microservices_Build_a_Distributed_Job_Engine_2025-2.part6_Downloadly.ir.rar?nocache=1786112525\"><span style=\"vertical-align: inherit\">Download Part 6 \u2013 0.98 GB<\/span><\/a><\/p>\n<p><span style=\"vertical-align: inherit\">File(s) password: www.downloadly.ir<\/span><\/p>\n<h3><span style=\"vertical-align: inherit\">File size<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">5.98 GB<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description NestJS Microservices: Build a Distributed Job Engine. In this course, you will learn the art of building scalable, distributed microservices using N<\/p>\n","protected":false},"author":1,"template":"","dgi_category":[10458],"dgi_tag":[75249,75250,75251,75252,75253,15962],"class_list":["post-8530","digital_item","type-digital_item","status-publish","has-post-thumbnail","hentry","dgi_category-video-tutorials","dgi_tag-course-nestjs-microservices-build-a-distributed-job-engine","dgi_tag-download-course-nestjs-microservices-build-a-distributed-job-engine","dgi_tag-download-nestjs-microservices-build-a-distributed-job-engine","dgi_tag-free-download-nestjs-microservices-build-a-distributed-job-engine","dgi_tag-free-nestjs-microservices-build-a-distributed-job-engine","dgi_tag-michael-guay"],"_links":{"self":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/8530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item"}],"about":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/types\/digital_item"}],"author":[{"embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/8530\/revisions"}],"wp:attachment":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/media?parent=8530"}],"wp:term":[{"taxonomy":"dgi_category","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_category?post=8530"},{"taxonomy":"dgi_tag","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_tag?post=8530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}