این دوره یک آموزش جامع برای توسعهدهندگانی است که میخواهند یاد بگیرند چگونه میکروسرویسهای مقیاسپذیر، کارآمد و قدرتمند را با استفاده از .NET Core 9 و معماری تمیز ایجاد کنند. در این مسیر، شما با تکنولوژیهای پیشرفتهای آشنا خواهید شد که به شما در طراحی، استقرار و مدیریت میکروسرویسها کمک میکنند.
میکروسرویسها یک الگوی طراحی هستند که در آن برنامهها از ماژولهای مستقل تشکیل شدهاند. این ماژولها در محدودههای مشخص با یکدیگر ارتباط برقرار میکنند که این امر توسعه، تست و استقرار بخشهای مجزا از برنامه را بسیار سادهتر میکند. در این دوره، شما با استفاده از ابزارهایی مانند Docker، Kubernetes، Azure AD، RabbitMQ، Angular (نسخههای 15 و 19 در مباحث مختلف)، GRPC، Istio Service Mesh، SQL Server، MongoDB، PostgreSQL، Redis، Ocelot، Nginx، Azure، Helm Charts و قابلیتهای Auto Scale، تجربه عملی کسب خواهید کرد.
- .NET Core 9 برای توسعه میکروسرویسها
- Angular 19 برای توسعه فرانتاند (همچنین Angular 15 در برخی بخشها مورد استفاده قرار میگیرد)
- Docker و Kubernetes برای مدیریت استقرار و مقیاسدهی سرویسها
- Identity Server 4 برای احراز هویت و مدیریت کاربران
- RabbitMQ و GRPC برای پیامرسانی و ارتباط سریع بین میکروسرویسها
- Istio Service Mesh برای کنترل ترافیک و تعامل سرویسها
- SQL Server، MongoDB، PostgreSQL و Redis برای ذخیرهسازی دادهها
- Ocelot و Nginx برای مدیریت API Gateway
- Azure و Helm Charts برای استقرار و مدیریت میکروسرویسها
۱. مبانی و اصول میکروسرویسها
- درک تفاوت معماری میکروسرویسها با سایر معماریها
- معرفی .NET Core 9 و نحوه پیادهسازی میکروسرویسها
- طراحی ماژولار و مستقل برای هر سرویس
۲. استقرار و مدیریت کانتینرها
- بستهبندی میکروسرویسها با Docker
- استقرار و مدیریت سرویسها با Kubernetes
- پیادهسازی Auto Scaling در Kubernetes
۳. احراز هویت و امنیت
- مدیریت کاربران با Identity Server 4
- تنظیم JWT Token و OAuth 2.0 برای احراز هویت
- اعمال سطوح دسترسی در میکروسرویسها
۴. پیامرسانی و ارتباط بین سرویسها
- استفاده از RabbitMQ برای پیادهسازی صفهای پیام
- معرفی و پیادهسازی الگوی CQRS و Mediator Pattern
- استفاده از GRPC برای ارتباطات پرسرعت و بهینه
۵. مدیریت پایگاه داده و ذخیرهسازی
- کار با SQL Server، PostgreSQL، MongoDB و Redis
- بهینهسازی کوئریها برای افزایش عملکرد سیستم
- پیادهسازی Database Per Service و Shared Database
۶. مدیریت API Gateway و ترافیک
- استفاده از Ocelot و Nginx برای مدیریت API Gateway
- کنترل و مانیتورینگ ترافیک با استفاده از Istio Service Mesh
- پیادهسازی Sidecar Pattern برای تعامل بهتر میکروسرویسها
۷. توسعه فرانتاند با Angular 19
- طراحی و پیادهسازی رابط کاربری مدرن با Angular 19
- ارتباط بین فرانتاند و بکاند از طریق APIهای میکروسرویسها
- استفاده از Angular Material برای طراحی حرفهای
۸. استقرار و مانیتورینگ در محیط عملیاتی
- استقرار میکروسرویسها در Azure
- استفاده از Helm Charts برای مدیریت تنظیمات
- پیادهسازی ELK Stack برای لاگینگ و مانیتورینگ پیشرفته
- افراد مبتدی: کسانی که میخواهند از صفر وارد دنیای میکروسرویسها شوند.
- برنامهنویسان سطح متوسط: افرادی که با .NET آشنا هستند و میخواهند مهارتهای خود را ارتقا دهند.
- توسعهدهندگان پیشرفته: متخصصانی که قصد دارند از .NET Core 9، Angular 19 و Kubernetes در پروژههای واقعی استفاده کنند.
- همچنین، این دوره برای دانشجویان، حرفهایها، کارآفرینان و معماران نرمافزار مناسب است.
لینکهای دوره:
منابع آموزشی تکمیلی از دانشجویار:
- آموزش جامع ASP.NET Core 8
- وبسایت فروشگاهی مشابه دیجیکالا
- آموزش Docker
- ساخت چت روم با ASP.NET Core و Angular
- دوره جامع آموزش انگولار (Angular 12) بهصورت پروژهمحور
در این بخش از دوره، شما با پیادهسازی یک پروژه کامل فروشگاهی با استفاده از ASP.NET Core، Docker، Kubernetes، Helm Charts، Service Mesh و Angular (نسخههای 18/19) آشنا خواهید شد. این پروژه نه تنها نشاندهندهی پیادهسازی دقیق تمام لایههای نرمافزاری است بلکه بر اساس بهترین شیوههای صنعتی طراحی شده تا شما را در نگارش پروژههای سازمانی حرفهای یاری کند.
فناوریهای کلیدی مورد استفاده در پروژه شامل:
- معماری تمیز (Clean Architecture)
- .NET Core
- Docker
- Kubernetes
- Azure
- میکروسرویسها
- Service Mesh
- Angular
- ELK Stack
- Pub/Sub Pattern
- GRPC
- Repository Pattern
- Unit of Work Pattern
- Specification Pattern
- Helm Charts
در ادامه، یک نمای کلی از ساختار پروژه ارائه شده است:

تمام تلاشهای صورت گرفته برای کامل و دقیق بودن مطالب این پروژه صورت گرفته است؛ اما هیچگونه ضمانتی به صورت ضمنی ارائه نمیشود. تمامی پیادهسازیها بر اساس تجربیات شخصی و بهترین شیوههای صنعتی بهصورت "همانگونه که هست" ارائه میشوند و صرفاً برای مقاصد آموزشی طراحی شدهاند. همچنین این دوره بهروز خواهد شد هرگاه فریمورکهای جدید و پایدار عرضه شوند.
برای راهاندازی محیط توسعه مراحل زیر را دنبال کنید (قبل از اجرا، Docker Desktop را راهاندازی نمایید):
- ریپازیتوری را کلون کنید.
- پس از نصب Docker Desktop، از منوی Settings > Advanced (از طریق آیکون Docker در نوار سیستم) مقدار حداقل حافظه و تعداد CPUها را به صورت زیر تنظیم کنید:
- حافظه (Memory): 7 GB
- تعداد CPU: 5
- در دایرکتوری ریشه که شامل فایلهای docker-compose.yml میباشد، دستور زیر را اجرا کنید:
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -dالگوی Pub/Sub:

در نمودار فوق، مشاهده میکنید قبل از رویداد پرداخت، سبد خرید از پایگاه داده Redis حذف میشود.
HPA (Horizontal Pods AutoScaler):

فعالسازی Istio:
kubectl apply -f istio-init.yaml
kubectl apply -f istio-minikube.yaml
kubectl apply -f kiali-secret.yamlمدیریت Service Mesh با Kiali:
برای مشاهده Kiali UI میتوانید از port-forward در Lens استفاده کنید.


















