میکروسرویسهای NestJS: ساخت یک موتور پردازش کار توزیعشده
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- ساخت یک موتور پردازش کار توزیعشده و کاملاً کاربردی با استفاده از میکروسرویسهای NestJS
- ساختاردهی یک Monorepo مقیاسپذیر با استفاده از Nx برای توسعه کارآمد و مدیریت وابستگیها
- پیادهسازی gRPC به عنوان لایه انتقال برای ارتباطات با کارایی بالا و تاخیر کم
- استفاده از Apache Pulsar برای پیامرسانی توزیعشده و پردازش مطمئن کارها
- ارائه یک GraphQL API برای دسترسی انعطافپذیر به دادهها و تعامل
- ایمنسازی میکروسرویسها با احراز هویت JWT و کوکیهای HTTP-only
- بهکارگیری اصول طراحی شیگرا برای حفظ ماژولار بودن، قابلیت استفاده مجدد و نگهداری کد
- پیادهسازی مقیاسدیهی افقی برای مدیریت کارآمد بارهای کاری سنگین
- بهینهسازی داکرایز کردن با کتابخانههای Nx و فایلهای package.json مستقل
- استفاده از Prisma ORM و Drizzle ORM همراه با PostgreSQL برای مدیریت قدرتمند پایگاه داده
- استقرار میکروسرویسها در Kubernetes با رعایت بهترین روشها برای محیط پروداکشن
- راهاندازی یک استقرار سطح پروداکشن در AWS با دامنه سفارشی و رمزگذاری SSL
- کسب تجربه عملی در طراحی، توسعه و استقرار میکروسرویسهای واقعی NestJS
پیشنیازهای دوره
- دانش اولیه JavaScript یا TypeScript
- آشنایی با Node.js و مفاهیم توسعه بکاند
- درک REST APIها (آشنایی با GraphQL مفید است اما الزامی نیست)
- تجربه اندک با پایگاههای داده مانند PostgreSQL مفید خواهد بود.
- درک اولیه از Docker و مفاهیم کانتینرسازی
- آشنایی با مفاهیم اولیه NestJS
- آشنایی با Kubernetes برای استقرار
توضیحات دوره
با توسعه یک موتور پردازش کار کاملاً کاربردی از پایه، هنر ساخت میکروسرویسهای مقیاسپذیر و توزیعشده با NestJS را بیاموزید. این دوره طراحی شده است تا میکروسرویسهای NestJS را به روش صحیح آموزش دهد و همه چیز از معماری و طراحی تا استقرار و مقیاسدهی در محیط پروداکشن را پوشش میدهد.
کار با راهاندازی یک Monorepo با Nx آغاز میشود که امکان مدیریت کارآمد چندین سرویس را در یک کدبیس واحد فراهم میکند. با استفاده از gRPC به عنوان لایه انتقال، ارتباطات با عملکرد بالا و تاخیر کم بین سرویسها فعال میشود. این دوره به بررسی عمیق Apache Pulsar، یک سیستم پیامرسانی توزیعشده قدرتمند میپردازد که امکان افزودن چندین Consumer به یک صف مشترک و دستیابی به مقیاسپذیری را فراهم میکند. همچنین یک GraphQL API ارائه خواهد شد که راهی انعطافپذیر و کارآمد برای تعامل با میکروسرویسها فراهم میآورد.
امنیت یکی از محورهای اصلی است و احراز هویت مبتنی بر JWT با کوکیهای امن و HTTP-only پیادهسازی خواهد شد. در طول دوره، همه چیز با استفاده از اصول طراحی شیگرا ساخته میشود تا کدی تمیز، ماژولار و قابل استفاده مجدد که از اصول DRY (خودت را تکرار نکن) پیروی میکند، تضمین شود. این امر باعث میشود کدبیس با گسترش پروژه، قابل نگهداریتر باشد.
همچنین تنظیمات Docker با استفاده از کتابخانههای Nx و فایلهای package.json جداگانه برای مدیریت بهتر وابستگیها بهینهسازی میشود. تکنیکهای مقیاسدهی افقی تضمین میکنند که سرویسها میتوانند بارهای کاری فزاینده را به طور کارآمد مدیریت کنند. با تکامل موتور پردازش کار، ردیابی استیت کار پیادهسازی میشود که امکان نظارت بر پیشرفت کارها را فراهم میکند.
برای مدیریت پایگاه داده، از Prisma ORM و Drizzle ORM همراه با PostgreSQL استفاده میشود که ایمنی نوع داده، مایگریشنها و کوئریهای بهینه را تضمین میکند. در نهایت، همه چیز در Kubernetes مستقر شده و میکروسرویسها با استفاده از AWS، دامنه سفارشی و رمزگذاری SSL به محیط پروداکشن منتقل میشوند.
در پایان این دوره، دانشجویان یک موتور پردازش کار توزیعشده و کاملاً عملیاتی با ردیابی استیت قوی و تخصص لازم برای طراحی، توسعه و استقرار میکروسرویسهای مقیاسپذیر NestJS در محیطهای واقعی را خواهند داشت.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان بکاند که به دنبال دستیابی به مقیاسپذیری از طریق Node.js هستند.
- توسعهدهندگان بکاند که میخواهند به میکروسرویسهای NestJS مسلط شوند.
- مهندسان نرمافزار علاقهمند به یادگیری gRPC و Apache Pulsar برای ارتباطات با کارایی بالا و پردازش کارها
- توسعهدهندگانی که علاقهمند به ساخت اپلیکیشنهای سطح تولید و واقعی با NestJS هستند.
- هر کسی که به دنبال کسب تجربه عملی با تکنولوژیهای مدرن بکاند مانند Prisma ،Drizzle ،Docker و GraphQL است.
- کسانی که میخواهند توانایی خود را در طراحی معماریهای میکروسرویس مقیاسپذیر، قابل نگهداری و کارآمد بهبود بخشند.
میکروسرویسهای NestJS: ساخت یک موتور پردازش کار توزیعشده
-
مقدمه 03:39
-
معماری سیستم 06:51
-
پیشنیازها 01:35
-
منابع 01:07
-
راهاندازی Monorepo با Nx - بخش 1 09:55
-
راهاندازی Monorepo با Nx - بخش 2 08:18
-
راهاندازی CI با GitHub Actions 10:39
-
اسکیما Prisma 12:58
-
تارگتهای Prisma در Nx 12:42
-
GraphQL و کتابخانههای Nx - بخش 1 09:21
-
GraphQL و کتابخانههای Nx - بخش 2 10:44
-
Mutation و Query کاربران 16:10
-
هوکهای Commit 06:44
-
تستهای واحد 05:04
-
ماژول پیکربندی 02:33
-
گزینههای Nx 01:14
-
ماژول JWT 07:33
-
پاکسازی پیکربندی 02:33
-
تایید کاربر 12:49
-
امضای کوکی JWT 13:37
-
استراتژی JWT 14:31
-
دکوریتور پارامتر کاربر 02:56
-
تنظیمات Playground احراز هویت 00:42
-
تولید اپلیکیشن 05:25
-
دکوریتور کار 09:16
-
ماژول Discovery 07:24
-
ریزالور کارها 16:09
-
تنظیمات Playground کارها 00:42
-
پروتوی احراز هویت 07:46
-
TS Proto 13:21
-
سرور gRPC 10:07
-
کنترلر و کلاینت احراز هویت 07:31
-
گارد احراز هویت gRPC GQL 11:07
-
استراتژی احراز هویت gRPC 06:44
-
کلاینت Pulsar 12:19
-
Producer انتزاعی کار 16:50
-
Consumer انتزاعی 10:44
-
اجراکننده کار 11:48
-
اسکالر JSON در GraphQL 04:48
-
سریالسازی پیام و مدیریت خطا 13:31
-
اعتبارسنجی کار 07:15
-
تولیدکننده دستهای Pulsar 07:51
-
اسکریپت تست Backlog 16:49
-
فضاهای کاری NPM 11:24
-
کتابخانههای جدید 08:33
-
وابستگیهای کتابخانه 08:19
-
وبپک کتابخانه 08:17
-
بروزرسانی اپلیکیشنها 09:15
-
آلیاس ماژول 09:09
-
Dockerfile کارها 13:34
-
تکمیل Dockerfileها 07:49
-
وبپک مشترک 09:30
-
لاگر Pino 09:15
-
لاگر GraphQL 08:06
-
لاگر gRPC 08:47
-
رجیستری کانتینر الاستیک (ECR) 04:16
-
اکشن گیتهاب برای ECR 14:05
-
Minikube 03:30
-
بروزرسانی Prettier 01:24
-
ایجاد چارت Helm 04:15
-
استقرار کارها 12:17
-
افزونه اعتبارنامههای رجیستری 06:35
-
Pulsar و Postgres 12:09
-
متغیرهای محیطی (Environment Variables) 09:21
-
Prisma Debian 02:26
-
استقرار Executor و Auth 12:41
-
آدرس gRPC احراز هویت 02:00
-
سرویسها (Services) 09:22
-
سرویس Minikube 06:55
-
مایگریشنهای Prisma 09:31
-
اجرای کار 15:15
-
اسکریپت فیبوناچی 09:52
-
مقیاسدهی افقی 08:58
-
آپلود فایل 15:43
-
سرویس محصولات 04:40
-
Drizzle ORM 15:35
-
مایگریشنهای Drizzle Kit 07:27
-
پروتوی محصولات 07:58
-
gRPC محصولات 04:36
-
کارِ بارگذاری محصولات 13:36
-
دادههای فایل کار 12:35
-
مصرفکننده بارگذاری محصولات 03:35
-
کلاینت gRPC محصولات 08:47
-
دستهبندیها 12:07
-
Dockerfile محصولات 07:51
-
هلم محصولات 11:59
-
تست هلم محصولات 07:11
-
والیوم کارها 08:50
-
Prisma کارها 08:30
-
ذخیره کار 08:10
-
تایید کار 11:12
-
تایید اجراکننده 13:43
-
تست تایید 03:23
-
Dockerfile کارها و Prisma 03:10
-
هلم تایید 10:35
-
ریزالور وضعیت کار 07:48
-
Ingress 10:19
-
AWS CLI 03:48
-
سرویس کوبرنتیز الاستیک (EKS) 03:43
-
کنترلر Load Balancer و درایور CSI 08:21
-
چارت Helm برای AWS - بخش 1 09:25
-
چارت Helm برای AWS - بخش 2 08:27
-
مقیاسدهی افقی 06:44
-
دامنه سفارشی و SSL 10:07
مشخصات آموزش
میکروسرویسهای NestJS: ساخت یک موتور پردازش کار توزیعشده
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:متوسط
- تعداد درس:104
- مدت زمان :14:58:31
- حجم :6.41GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy