پرووید
منو

آموزش پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 02:23:13تعداد ویدئوها: 25فایل های پروژه: ناموجود
قیمت:۳٬۴۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش معماری مایکروسرویس ها پیشرفته (Microservices Architecture) است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی پیاده سازی استراتژی مدیریت داده در معماری مایکروسرویس ها است که با نام اصلی Implementing a Data Management Strategy for an ASP.NET Core Microservices Architecture از شرکت Pluralsight منتشر شده است.

معماری میکروسرویس ها (Microservices Architecture) چیست؟

توسعه نرم افزارها با روش سنتی و یا همان معماری Monolithic دارای چالش ها و مشکلات مهمی است که معماری مایکروسرویسی تلاش در حل و فصل کردن آنها دارد. در معماری Monolithic امکان مدیریت کردن برنامه در زمان رشد بیش از حد آن عملاً امکان پذیر نخواهد بود. همین دلیل معماری مایکروسرویسی توسعه نرم افزار های بزرگ براساس اصل Single Responsibility Principle که یکی از اصول SOLID می باشد، مطرح شد. در معماری مایکروسرویسی یک نرم افزار بزرگ در قالب مجموعه ای از سرویس های کوچک تر که به صورت loosely coupled پیاده سازی می شوند ایجاد می گردد. این موضوع باعث می شود تا امکان build کردن مایکروسرویس ها و البته deploy کردن آنها به طور مستقل از یکدیگر امکان پذیر بگردد. علاوه بر این، امکان گسترش دادن و scale کردن چنین معماری در مقایسه با معماری Monolithic بسیار ساده تر خواهد بود.

Domain-driven Design with Bounded Contexts - نمونه ای از بخش Data Management Architecture with Microservices در آموزش پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core
نمونه ای از بخش «Data Management Architecture with Microservices» در آموزش پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core

همانطور که گفته شد معماری مایکروسرویسی یک نرم افزار را در قالب مجموعه ای از سرویس هایی که می توانند به صورت مستقل از یکدیگر deploy بگردند پیاده سازی می کند. این مایکروسرویس ها بر اساس قابلیت های تجاری و یا اصطلاحاً business capability ها پیاده سازی می شوند و به صورت خودکار deploy کردن آنها اتفاق می افتد. مایکروسرویس های مختلف دیتابیس های منحصر بفرد خود را دارند و از لحاظ تکنولوژی و یا حتی زبانهای برنامه نویسی نسبت به یکدیگر کاملاً مستقل هستند. استفاده کردن از معماری مایکروسرویسی در نرم افزارهای بزرگ باعث می شود که build کردن و نگهداری کردن قسمت های کوچکتر به مراتب ساده تر بگردد. با استفاده از معماری مایکروسرویسی شما قسمت های مختلف نرم افزار را به صورت جداگانه و تفکیک شده از یکدیگر در کنار چندین میکروسرویس مستقل از یکدیگر پیاده سازی می کنید. هر کدام از این مایکروسرویس ها مسئولیت پیاده سازی بخشی از وظایف سیستم نرم افزاری را به عهده دارند.

استراتژی مدیریت داده (Data Management Strategy) چیست؟

در معماری Monolithic پیاده سازی data consistency و یا سازگاری داده ها با یکدیگر به سادگی امکان پذیر خواهد بود. این موضوع به این دلیل است که تمامی برنامه از یک دیتابیس یکسان استفاده می کند. در معماری میکروسرویسی که در آن هر میکروسرویس دارای دیتابیس منحصر به فرد خود می باشد، داستان کمی متفاوت است. بسته به ساختار نرم افزار تان و یا حتی تعداد مایکروسرویس های موجود ممکن است نیاز باشد که از الگوهای مختلف مدیریت داده و یا data management استفاده کنید. این موضوع نیز ریشه در این قضیه دارند که هر مایکروسرویس دیتابیس منحصر بفرد خود را خواهد داشت.

Relational Data Options in Azure - نمونه ای از بخش Data Management within Microservices در آموزش پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core
نمونه ای از بخش «Data Management within Microservices» در آموزش پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core

زمانی که چندین دیتابیس مختلف وجود دارد امکان ایجاد data inconsistency و یا ناسازگاری داده ها وجود دارد. چنین شرایطی مسائل مربوط به consistency به صورت خودکار حل و فصل نمی گردند و باید به طور دقیق مورد بررسی و معماری صحیح قرار بگیرد. انواع مختلفی از الگوهای data management و یا مدیریت داده در معماری مایکروسرویسی بررسی می شوند که تحت نام های مختلفی از قبیل Database Persistent Pattern و Saga Pattern و Shared Database Pattern و API Composition Pattern و CQRS Pattern و Even Sourcing Pattern شناخته می شوند. استفاده کردن از هر کدام از این الگوها نیاز به بررسی دقیق تر نرم افزار مورد نظر شما را دارد.

انتخاب محل ذخیره‌سازی داده در معماری میکروسرویس‌های مبتنی بر Azure

در آموزش Implementing a Data Management Strategy for an ASP.NET Core Microservices Architecture، تصمیم‌گیری درباره محل نگهداری داده‌ها در یک سیستم توزیع‌شده به‌صورت عملی بررسی می‌شود. موضوعاتی مانند گزینه‌های داده‌های توزیع‌شده در Azure، ذخیره‌سازی داده‌های NoSQL با Azure Cosmos DB و استفاده از Distributed Cache به شما کمک می‌کنند تفاوت میان نیازهای ذخیره‌سازی پایدار و دسترسی سریع به اطلاعات را بهتر بشناسید. همچنین با بررسی Azure Storage برای داده‌های غیرساختارمند، با رویکردی آشنا می‌شوید که برای نگهداری فایل‌ها و محتوایی که ساختار جدولی مشخصی ندارند، کاربرد دارد.

انتخاب یک فناوری ذخیره‌سازی برای تمام انواع داده‌ها همیشه پاسخ‌گوی نیازهای یک معماری میکروسرویسی نیست. در این آموزش، گزینه‌های مختلف ذخیره‌سازی در کنار طراحی Microserviceها بررسی می‌شوند تا ارتباط میان ماهیت داده و محل نگهداری آن روشن‌تر شود. برای مثال، Azure Cosmos DB می‌تواند برای داده‌های مبتنی بر مدل NoSQL به کار برود، در حالی که Distributed Cache با هدف دسترسی سریع به اطلاعات موقت استفاده می‌شود. شناخت این تفاوت‌ها به توسعه‌دهندگان ASP.NET Core کمک می‌کند مسئولیت‌های مربوط به داده را متناسب با نیاز هر سرویس طراحی کنند و وابستگی‌های غیرضروری میان اجزای سیستم را کاهش دهند.

چگونه Eventual Consistency و Integration Eventها را مدیریت کنیم؟

وقتی هر میکروسرویس داده‌های خود را مدیریت می‌کند، تغییر اطلاعات در یک سرویس لزوماً به معنای به‌روزرسانی هم‌زمان تمام سرویس‌های مرتبط نیست. مفهوم Eventual Consistency در این آموزش به همین مسئله می‌پردازد و نشان می‌دهد چگونه می‌توان سازگاری داده‌ها را در شرایطی بررسی کرد که به‌روزرسانی‌ها ممکن است با فاصله زمانی میان بخش‌های سیستم منتشر شوند. آشنایی با این مفهوم برای طراحی فرایندهایی اهمیت دارد که چند سرویس در آن‌ها نقش دارند و نمی‌توان انتظار داشت تمام تغییرات داده در یک عملیات واحد و هم‌زمان انجام شوند.

در ادامه، استفاده از Integration Eventها برای دستیابی به سازگاری نهایی بررسی می‌شود. این رویدادها امکان انتقال اطلاعات مربوط به تغییرات یک سرویس به بخش‌های دیگر را فراهم می‌کنند تا سرویس‌های مصرف‌کننده بتوانند واکنش مناسب نشان دهند. همچنین پیاده‌سازی الگوی Unit of Work و بررسی Connection Resiliency در EF Core، جنبه‌های دیگری از مدیریت عملیات داده و پایداری ارتباط با پایگاه داده را پوشش می‌دهند. کنار هم قرار گرفتن این مباحث، دید مشخصی درباره چالش‌های ثبت تغییرات، انتشار رویدادها و مدیریت خطاهای ارتباطی ایجاد می‌کند؛ چالش‌هایی که در طراحی سرویس‌های مستقل و هماهنگ با ASP.NET Core اهمیت دارند.

سرفصل مطالب آموزش ویدئویی پیاده سازی استراتژی مدیریت داده در معماری میکروسرویس ها با ASP.NET Core

فصل اول: بررسی این دوره آموزشی
  • بررسی این دوره آموزشی
فصل دوم: معماری مدیریت داده با مایکروسرویس ها
  • Domain-driven Design بررسی با Bounded Context ها
  • پیکربندی داده ها در طراحی Microserviceها
  • بررسی مفهوم Polygot Persistence
  • بررسی مفهوم Eventual Consistency
  • طراحی پرس و جو ها با داده های توزیع شده
  • بررسی پروژه این دوره آموزشی
  • معماری پروژه نمونه Globoticket
  • پیکربندی پروژه این دوره آموزشی
  • بررسی نمونه کد در پروژه این دوره آموزشی
فصل سوم: مدیریت داده ها در مایکروسرویس ها
  • گزینه داده های توزیع شده در Azure
  • بررسی Database Mapping با استفاده ازEntity Framework Core
  • ذخیره داده های NoSQL با Azure Cosmos DB
  • استفاده از Cosmos DB با EF Core
  • بررسی Distributed Cache به عنوان فضای ذخیره سازی
  • پیاده سازی Azure Cache برای Redis
  • ذخیره سازی Azure برای داده های غیرساختارمند و یا Unstructured Data
فصل چهارم: سازگاری داده ها در مایکروسرویس ها
  • سازگاری داده ها و یا Data Consistency در سیستم های توزیع شده
  • استفاده از Integration Event ها برای سازگاری نهایی
  • بررسی کردن Event Sourcing Pattern
  • پیاده سازی الگوی Unit of Work
  • بررسی مفهوم Publishing Eventها با الگوی Event Sourcing
  • بررسی مفهوم Connection Resiliency در EF Core
  • مدیریت کردت Duplicate Message ها
  • جمع بندی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.