آنچه یاد خواهید گرفت:
ساخت میکروسرویسهای واقعی در NestJS با استفاده از Kafka برای ارتباط رویدادمحور بین سرویسها.
راهاندازی Kafka با Docker، ساخت topicها، producerها و consumerها، و عیبیابی جریان پیام مثل یک حرفهای
طراحی و پیادهسازی قراردادهای پیام، اسکیماهای رویداد و ارتباط قابلاعتماد بین سرویسها
ساخت میکروسرویسهای Product و Order که با رویدادهای Kafka و با استفاده از Postgres و Prisma واکنش نشان میدهند.
پیشنیازهای دوره
درک پایهای از JavaScript یا TypeScript
آشنایی قبلی با Node.js یا توسعه بکاند مفید است.
نصب بودن Docker (برای راهاندازی Kafka)
کنجکاوی برای یادگیری سیستمهای رویدادمحور
توضیحات دوره
بسیاری از توسعهدهندگان بکاند با این موارد دستوپنجه نرم میکنند:
REST APIهای بههموابسته که بهخوبی مقیاسپذیر نیستند.
ارتباط پیچیده بین سرویسها
ابهام درباره مفاهیم و گردشکارهای Kafka
نبود نمونههای پیادهسازی واقعی
نامشخص بودن نحوه همکاری میکروسرویسها در محیط تولید
آموزشهای بیش از حد تئوری که از کدنویسی عملی عبور میکنند.
Kafka اغلب قدرتمند به نظر میرسد، اما در عین حال ترسناک و انتزاعی هم هست.
این دوره آن را به چیزی شفاف، قابلدسترس و کاملاً عملی تبدیل میکند.
این دوره این چالشها را با موارد زیر برطرف میکند:
آموزش اصول Kafka با زبانی ساده
استفاده از دیاگرامهای واقعی و دموهای عملی
اتصال مستقیم Kafka به میکروسرویسهای NestJS
راهنمایی شما در کار با producerها، consumerها و پیامرسانی
نمایش قراردادهای واقعی رویداد و کنوانسیونهای نامگذاری
ساخت همزمان سرویسهای Product و Order
ذخیره داده با PostgreSQL + Prisma
تست و عیبیابی جریانهای رویدادمحور بهصورت گامبهگام
آنچه شما در پایان این دوره خواهید توانست:
معماری رویدادمحور را درک کنید.
میکروسرویسهای واقعی با Kafka + NestJS بسازید.
در کار با سیستمهای توزیع شده اعتمادبهنفس پیدا کنید.
مهارتهای پرتقاضای مهندسی بکاند را به رزومه خود اضافه کنید.
با ابزارهای رایج صنعت مانند Docker و Prisma و PostgreSQL کار کنید.
سیستمهای مقیاسپذیر و کموابستگی طراحی کنید.
کد یک پروژه واقعی داشته باشید که بتوانید به آن ارجاع دهید یا آن را گسترش دهید.
و مهمتر از همه:
Kafka بالاخره برایتان «قابلفهم» میشود و میتوانید آن را در پروژههای واقعی بکاند به کار ببرید.
پس شما فقط Kafka را یاد نمیگیرید، بلکه از آن برای ساخت یک سیستم میکروسرویس عملی استفاده میکنید.
معماری رویدادمحور یکی از بزرگترین تغییرات در مهندسی بکاند است و Kafka در قلب آن قرار دارد. در این دوره عملی، یاد میگیرید چگونه Kafka را با NestJS یکپارچه کنید تا میکروسرویسهایی قدرتمند، مقیاسپذیر و آماده تولید را مرحلهبهمرحله بسازید.
ما از ابتدا با درک مفاهیم Kafka مانند topicها، partitionها، replication و consumer groupها شروع میکنیم. شما Kafka را بهصورت محلی با Docker اجرا میکنید، topic میسازید و رویدادها را منتشر و consume میکنید تا قبل از نوشتن هر کد اپلیکیشن، کاملاً بفهمید پیامرسانی چگونه کار میکند.
سپس وارد توسعه واقعی میشویم. شما چندین میکروسرویس NestJS میسازید که از طریق Kafka با هم ارتباط دارند. producerها، consumerها، قراردادهای پیام مشترک و workflowهای رویدادمحور را پیادهسازی میکنید. در این مسیر، بهترین روشها مانند نامگذاری پیامها، تکنیکهای عیبیابی، consumer groupها و ساختار اپلیکیشن را یاد میگیرید.
در ادامه، دو سرویس واقعی - یک Product Service و یک Order Service - را با پشتوانه PostgreSQL + Prisma میسازیم. رویدادهایی مانند product.created و order.created را emit و consume میکنید و میبینید میکروسرویسهای واقعی چگونه از طریق Kafka با هم همکاری میکنند.
در پایان دوره، فقط نخواهید دانست چگونه از Kafka با NestJS استفاده کنید، بلکه یک بکاند کامل رویدادمحور ساختهاید که میتوانید آن را در سیستمهای واقعی مانند فروشگاه اینترنتی، فینتک، پلتفرمهای تحویل، SaaS و موارد دیگر به کار ببرید.
این دوره برای توسعهدهندگان بکاند که میخواهند از REST APIها به سمت سیستمهای توزیع شده ارتقا پیدا کنند، کاملاً مناسب است و با توضیحات ساده و کدنویسی عملی در هر مرحله همراه است.
این دوره برای چه کسانی مناسب است؟
این دوره برای توسعهدهندگان بکاند، مهندسان Node.js / NestJS و توسعهدهندگان نرمافزار طراحی شده است که میخواهند میکروسرویسهای مبتنی بر Kafka را بهصورت عملی یاد بگیرند.
همچنین برای کسی که میخواهد معماری رویدادمحور، message brokerها و سیستمهای بکاند مقیاسپذیر را از طریق پروژههای واقعی و عملی درک کند، ایدهآل است.
اگر میخواهید از اپلیکیشنهای فقط REST به سمت سیستمهای توزیع شده و آماده تولید ارتقا پیدا کنید، این دوره برای شماست.