آموزش سیستم‌های رویداد-محور، امنیت و میکروسرویس‌ها - آخرین آپدیت

دانلود Event-Driven Systems, Security, and Microservices

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: به‌روزرسانی شده در می ۲۰۲۵. این دوره اکنون دارای قابلیت Coursera Coach است! روشی هوشمندانه‌تر برای یادگیری با گفتگوهای تعاملی و بلادرنگ که به شما کمک می‌کند دانش خود را آزمایش کنید، پیش‌فرض‌ها را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیق‌تر کنید. این دوره به بررسی پیاده‌سازی معماری‌های رویداد-محور (Event-Driven) در میکروسرویس‌ها می‌پردازد و بر ارتباطات امن بین سرویس‌ها تمرکز دارد. شما مهارت‌های عملی در استفاده از RabbitMQ و MassTransit برای ارتباطات ناهمگام (Asynchronous) را کسب خواهید کرد که برای توسعه سیستم‌های مقیاس‌پذیر و قابل اعتماد ضروری است. یاد بگیرید چگونه طراحی‌های مونو لیت ماژولار (Modular Monolithic) را پیاده‌سازی کنید و پیچیدگی‌های یکپارچه‌سازی میکروسرویس‌ها را با استفاده از اصول رویداد-محور کشف کنید. دوره با معرفی پیام‌رسانی ناهمگام با RabbitMQ و MassTransit آغاز می‌شود. شما معماری‌های مونو لیت ماژولار و نحوه مدیریت ارتباطات ناهمگام بین ماژول‌ها برای مقیاس‌پذیری بهتر را بررسی خواهید کرد. همچنین الگوهای کلیدی پیام‌رسانی مانند Publish/Subscribe را بررسی می‌کنید تا فرآیند کامل سیستم‌های رویداد-محور را درک کنید. در ادامه، بر روی توسعه رویدادهای یکپارچه‌سازی (Integration Events)، از جمله راه‌اندازی کتابخانه‌های پیام‌رسانی مشترک و استفاده از MassTransit برای مدیریت این رویدادها کار خواهید کرد. این دوره همچنین شامل تست‌های عمیق رویدادهای یکپارچه‌سازی و مدیریت جریان پیام‌ها است تا اطمینان حاصل شود که سیستم‌های شما مستحکم و کاربردی هستند. این دوره برای توسعه‌دهندگان و مهندسان نرم‌افزار با دانش پایه در .NET و میکروسرویس‌ها طراحی شده است و همه موارد، از پیاده‌سازی امنیت با Keycloak تا کانتینری کردن برنامه‌ها با استفاده از Docker-Compose را پوشش می‌دهد. این دوره تجربه عملی در ساخت سیستم‌های امن و مقیاس‌پذیر در سناریوهای واقعی را فراهم می‌کند. پیش‌نیازها: دانش پایه در .NET، میکروسرویس‌ها و مفاهیم معماری رویداد-محور.

سرفصل ها و درس ها

ارتباطات ناهمگام بین ماژول‌ها با RabbitMQ و MassTransit برای بروزرسانی قیمت Async Communications Between Modules with RabbitMQ & MassTransit for UpdatePrice

  • مقدمه: ارتباطات ناهمگام بین ماژول‌ها با RabbitMQ و MassTransit Introduction - Async Communications Between Modules with RabbitMQ & MassTransit

  • نحوه مدیریت ارتباطات ناهمگام بین ماژول‌ها در معماری مونو لیت ماژولار How Modular Monolithic Architecture Handles Async Communications Between Modules

  • الگوی پیام‌رسانی Fan Out Publish/Subscribe Fan-Out Publish/Subscribe Messaging Pattern

  • یادآوری سریع: رویدادهای دامنه در مقابل رویدادهای یکپارچه‌سازی Quick Remember: Domain vs Integration Events - Domain Leads to Integration Event

  • تحلیل دامنه ارتباط ناهمگام بین ماژول‌های کاتالوگ و سبد خرید Domain Analysis of Async Communication Between Catalog and Basket Modules

  • تحلیل فنی ارتباط ناهمگام بین ماژول‌های کاتالوگ و سبد خرید Technical Analysis of Async Communication Between Catalog and Basket Modules

  • مراحل توسعه ارتباط ناهمگام بین ماژول‌های کاتالوگ و سبد خرید Steps of Developing Async Communication Between Catalog and Basket Modules

  • گام اول: بررسی دامنه ماژول کاتالوگ و رویدادهای یکپارچه‌سازی Step 1: Examine Catalog Module Domain and Integration Events

  • گام دوم: ایجاد کتابخانه کلاس Shared.Messaging Step 2: Create Shared.Messaging Class Library

  • توسعه رویداد ProductPriceChangedIntegration در کتابخانه Shared.Messaging Develop ProductPriceChangedIntegration Event in Shared.Messaging Class Library

  • توسعه متدهای Extension برای ثبت اتصال RabbitMQ در DI Develop MassTransit Extension Methods to Register RabbitMQ Connection into DI

  • توسعه متدهای Extension برای ثبت اتصال در DI ماژول کاتالوگ Develop MassTransit Extension Methods to Register Connection into DI of Catalog

  • افزودن ارجاع پروژه Shared.Messaging به ماژول‌های کاتالوگ و سبد خرید Add Project Reference to Shared.Messaging in Catalog and Basket Modules

  • ثبت پکیج‌های MassTransit در Bootstrapper API DI در فایل Program.cs Register MassTransit Packages into Bootstrapper API DI in Program.cs File

  • رویداد ProductPriceChanged: چگونه رویداد دامنه به رویداد یکپارچه‌سازی تبدیل می‌شود ProductPriceChanged Integration Event: How Domain Leads to Integration Event

  • گام سوم: انتشار رویداد UpdatePrice توسط کاتالوگ Step 3: Catalog Publish UpdatePrice Integration Event

  • گام چهارم: اشتراک و مصرف رویداد ProductPriceChanged توسط سبد خرید Step 4: Basket Subscribe and Consume ProductPriceChanged Integration Event

  • توسعه قابلیت UpdateItemPriceInBasket در ماژول سبد خرید Develop UpdateItemPriceInBasket Feature in Basket Module

  • توسعه قابلیت UpdateItemPriceInBasket در ماژول سبد خرید - بخش دوم Develop UpdateItemPriceInBasket Feature in Basket Module - Part 2

  • فراخوانی دستور UpdateItemPriceInBasket در هندلر رویداد ProductPriceChanged Call UpdateItemPriceInBasketCommand in ProductPriceChangedIntegrationEventHandler

  • تست: رویداد ProductPriceChanged با استفاده از In-Memory MassTransit TEST - ProductPriceChangedIntegrationEvent with In-Memory MassTransit

  • RabbitMQ چیست و اجزای اصلی آن (تولیدکننده، صف، مصرف‌کننده) کدامند؟ What is RabbitMQ and Main Components of RabbitMQ (Producer, Queue, Consumer)

  • تغییر باس In-Memory به بروکر پیام RabbitMQ در MassTransit Shifting In-Memory Bus to RabbitMQ Message Broker in MassTransit

  • توسعه متدهای Extension برای ثبت اتصال RabbitMQ در DI Develop MassTransit Extension Methods to Register RabbitMQ Connection into DI

  • راه‌اندازی RabbitMQ برای ارتباط ناهمگام با استفاده از فایل Docker Compose Setup RabbitMQ for Async Communication Using Docker-Compose File

  • اجرای Docker Compose در Visual Studio برای نصب RabbitMQ روی داکر Run Docker-Compose on Visual Studio to Setup RabbitMQ on Docker

  • تست: رویداد ProductPriceChanged با RabbitMQ MassTransit TEST - ProductPriceChangedIntegrationEvent with RabbitMQ MassTransit

توسعه ماژول هویت کاربر با احراز هویت Keycloak Develop User Identity Module with Keycloak Authentication

  • مقدمه: توسعه ماژول هویت کاربر با احراز هویت Keycloak Introduction - Develop User Identity Module with Keycloak Authentication

  • مدیریت هویت و دسترسی در Keycloak Keycloak Identity and Access Management

  • مزایای اصلی استفاده از Keycloak Main Advantages of Using Keycloak

  • بهترین روش‌های استفاده از Keycloak Best Practices When Using Keycloak

  • جریان‌های OAuth2 و OpenID Connect در Keycloak OAuth2 + OpenID Connect Flows with Keycloak

  • استفاده از Keycloak به عنوان سرویس پشتیبان در مونو لیت ماژولار Keycloak as a Backing Service of Modular Monolith Modules

  • افزودن Keycloak به فایل Docker Compose برای ارائه دهنده هویت Setup Keycloak into Docker-Compose File for Identity Provider

  • اجرای Docker Compose در Visual Studio برای نصب Keycloak روی داکر Run Docker-Compose on Visual Studio Setup Keycloak Identity Provider on Docker

  • راه‌اندازی پایگاه داده هویت Keycloak با اسکیمای PostgreSQL Setup Keycloak User Identity Database as a PostgreSQL DB Identity Schema

  • اجرای Docker Compose برای تولید اسکیمای هویت PostgreSQL در Keycloak Run Docker-Compose for Keycloak PostgreSQL Identity Schema Generation

  • ایجاد Realm، کاربر و کلاینت برای OpenID Connect در Keycloak Create Realm, User and Client for OpenID Connect with Keycloak Identity Provider

  • ایمن‌سازی ماژول‌های EShop با OpenID Connect در ASP.NET Secure EShop Modules with Keycloak OpenID Connect in ASP.NET

  • ایمن‌سازی و تست Endpointهای سبد خرید با یکپارچه‌سازی Keycloak Secure and Test Basket Endpoints with Keycloak Integration

  • دریافت توکن JwtBearer برای OpenID Connect با هویت Keycloak Get JwtBearer Token for OpenID Connect with Keycloak Identity

  • دریافت کاربر فعلی از توکن با ClaimsPrincipal در احراز هویت ASP.NET Get Current User from Token with ClaimsPrincipal in ASP.NET Authentication

  • تست: ایجاد سبد خرید با کاربر فعلی از توکن با ClaimsPrincipal TEST - Create Basket with Current User from Token with ClaimsPrincipal

  • ایمن‌سازی Endpointهای سبد خرید با OpenID Connect و Keycloak Secure Basket Endpoints with OpenID Connect Using Keycloak Identity Provider

ماژول سفارش با معماری Vertical Slice و CQRS Ordering Module with Vertical Slice Architecture and CQRS

  • مقدمه: ماژول سفارش با معماری Vertical Slice و CQRS Introduction - Ordering Module with Vertical Slice Architecture and CQRS

  • تحلیل دامنه ماژول سفارش: مدل‌ها، موارد کاربرد، APIها و پایگاه داده‌ها Domain Analysis of Ordering Module: Models, UCs, Rest APIs, Databases

  • تحلیل فنی ماژول سفارش: معماری‌ها، الگوها و کتابخانه‌ها Technical Analysis of Ordering Module: Architectures, Patterns, Libraries

  • توسعه موجودیت‌های دامنه سفارش با الگوهای Tactical DDD Develop Ordering Domain Entities with Tactical Domain-Driven Design Patterns

  • توسعه زیرساخت داده‌های سفارش با EF Core Code First و PostgreSQL Develop Ordering Data-Infrastructure with EF Core Code First and PostgreSQL

  • توسعه لایه Ordering.Application با CQRS و MediatR Develop Ordering.Application Layer with CQRS and MediatR

  • توسعه Endpointهای API سفارش با استفاده از Minimal API و Carter Develop Ordering API Endpoints Exposing Minimal API Endpoints with Carter

الگوی Outbox برای پیام‌رسانی قابل اعتماد در میکروسرویس‌ها با مورد استفاده تسویه سبد خرید Outbox Pattern for Reliable Microservices Messaging with BasketCheckout Use Case

  • مقدمه: الگوی Outbox برای پیام‌رسانی قابل اعتماد در میکروسرویس‌ها Introduction - Outbox Pattern for Reliable Microservices Messaging

  • تحلیل رویداد تسویه سبد خرید بین ماژول‌های سبد خرید و سفارش Analyze Basket Checkout Event Between Basket and Ordering Modules

  • توسعه رویداد BasketCheckout در کتابخانه Shared.Messaging Develop BasketCheckout Event in Shared.Messaging Class Library

  • یادآوری سریع: راه‌اندازی ارتباط ناهمگام MassTransit و RabbitMQ Quick Remember Async Communication MassTransit RabbitMQ Setup

  • توسعه پوشه قابلیت BasketCheckout برای ارائه Endpoint و انتشار رویداد Develop BasketCheckout Feature Folder to Expose POST Endpoint and Publish Event

  • توسعه متد هندلر تسویه سبد خرید برای ارسال رویداد به RabbitMQ Develop Basket Checkout Handler Method to Publish Event to RabbitMQ via MassTransit

  • مشکل Dual Write و الگوی Outbox Dual-write Problem and Outbox Pattern

  • پیاده‌سازی الگوی Outbox برای پیام‌رسانی قابل اعتماد در BasketCheckout Develop Outbox Pattern for Reliable Microservices Messaging with BasketCheckout

  • گام ۱ و ۲: ایجاد موجودیت Outbox و تغییر DbContext Step 1-2: Create the Outbox Entity and Modify the DbContext

  • گام ۳: به‌روزرسانی CheckoutBasketHandler با Outbox و تراکنش‌های دیتابیس Step 3: Update CheckoutBasketHandler with Outbox and Database Begin and Commit

  • گام ۴: ایجاد یک Background Service برای پردازش پیام‌های Outbox Step 4: Create a Background Service to Process Outbox Messages

  • اشتراک و مصرف رویداد BasketCheckout در ماژول سفارش از طریق RabbitMQ Ordering Module to Subscribe-Consume BasketCheckout Event from RabbitMQ

  • ثبت ماژول سفارش در MassTransit برای ارتباط رویداد-محور ناهمگام Register Ordering Module into MassTransit for Async Event-driven Communication

  • توسعه هندلر یکپارچه‌سازی مصرف‌کننده رویداد تسویه سبد خرید Develop Basket Checkout Event Consumer Integration Event Handler

  • تست: مورد استفاده تسویه سبد خرید و الگوی Outbox - بخش اول TEST - Checkout Basket Use Case - Reliable Async Communication Outbox Pattern - Part 1

  • تست: مورد استفاده تسویه سبد خرید و الگوی Outbox - بخش دوم TEST - Checkout Basket Use Case - Reliable Async Communication Outbox Pattern - Part 2

کانتینری سازی و ارکستراسیون اپلیکیشن ماژولار EShop در Docker Compose Containerize and Orchestrate EShop Modular App in Docker-Compose

  • مقدمه: کانتینری سازی و ارکستراسیون اپلیکیشن EShop در Docker Compose Introduction - Containerize and Orchestrate EShop Modular App in Docker-Compose

  • استراتژی استقرار مونو لیت ماژولار EShop EShop Modular Monolith Deployment Strategy

  • افزودن پروژه API به فایل Docker Compose برای محیط چند کانتینری Add ASP.NET API Project into Docker-Compose File for Multi-container Docker Environment

  • تنظیم متغیرهای محیطی پروژه API بر اساس appsettings Set Environment Variables of API Project Configurations According to appsettings

  • تست کلی: اجرای Docker Compose با پروژه API و سرویس‌های پشتیبان TEST ALL - Docker-Compose All with API Project and Backing Services

  • تست ماژول سبد خرید در محیط Docker Compose TEST Basket Module - Docker-Compose All with API Project

  • تست تسویه سبد خرید با RabbitMQ و ماژول سفارش در Docker Compose TEST CheckoutBasket with RabbitMQ and Ordering Module - Docker-Compose All with API

  • تست ماژول سفارش در محیط Docker Compose TEST Ordering Module - Docker-Compose All with API Project

  • اپلیکیشن‌های کلاینت: مصرف ماژول API در EShop Client Apps - Consume API Module in EShop Modules

مهاجرت به میکروسرویس‌ها: تبدیل ماژول‌های EShop به میکروسرویس با الگوی Strangler Fig Migrating to Microservices: EShop Modules to Microservices with Strangler Fig

  • مهاجرت به میکروسرویس‌ها: چالش‌ها و ملاحظات Migrating to Microservices: Challenges and Considerations

  • الگوی Strangler Fig برای بازسازی مونو لیت به میکروسرویس Strangler Fig Pattern for Refactoring Monolith into Microservices

  • مراحل بازسازی مونو لیت به میکروسرویس‌ها Steps of Refactoring Monolith into Microservices

  • گام اول: تجزیه ماژول‌های EShop به میکروسرویس‌ها با Bounded Contextهای DDD Step 1: Decompose EShop Modules to Microservices with DDD Bounded Contexts

  • گام دوم: اولویت‌بندی سرویس‌های ماژولار برای مهاجرت Step 2: Prioritize Modules-Services for Migration

  • گام سوم: استخراج یک سرویس از مونو لیت Step 3: Extract a Service from a Monolith

  • گام چهارم: مدیریت پایگاه داده مونو لیت Step 4: Manage a Monolithic Database

  • گام پنجم: طراحی و پیاده‌سازی ارتباطات بین‌سرویسی Step 5: Design and Implement Interservice Communication

  • گام ششم: ارتباط ناهمگام بین سرویس‌ها Step 6: Async Communication Between Services

  • گام هفتم: تراکنش‌های توزیع شده و سازگاری داده‌ها Step 7: Distributed Transactions and Data Consistency

  • گام هشتم: استقرار میکروسرویس‌ها پس از مونو لیت Step 8: Deployment of Microservices After Monolithic

  • میکروسرویس‌های .NET 8: خلاصه دوره (DDD, CQRS, Clean Architecture) .NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture - Course Summary

سپاسگزاری Thanks

  • سپاسگزاری Thanks

نمایش نظرات

آموزش سیستم‌های رویداد-محور، امنیت و میکروسرویس‌ها
جزییات دوره
9h 57m
89
(آخرین آپدیت)
308
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده