ریال 599,000

پیش خرید دانلودی بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی

قیمت بسته پس از انتشار: 699000 ریال می باشد که هم اکنون می توانید با تخفیف در نظر گرفته شده اقدام به پیش خرید کنید.

زمان انتشار بسته: بیست و نهم اسفند (پس از انتشار لینک های دانلود به صورت خودکار برای شما ایمیل خواهند شد.)

توضیحات

بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی CQRS: مباحث تئوری و کاربردی است که با نام اصلی CQRS Theory and Practice از شرکت Pluralsight منتشر شده است.

CQRS چیست؟

به بیان ساده CQRS یک سبک معماری ( Architecture Style) است که با استفاده از آن عملیات خواندن (Read Operations) و عملیات نوشتن (Write Operations) از هم تفکیک می شوند.

در معماری های سنتی و ساده اغلب از یک Data Model یکسان برای Query گرفتن و Update کردن دیتابیس استفاده می شود. این موضوع برای نرم افزارهایی که عملیات ساده ی CRUD را انجام می دهند مناسب است. اما در نرم افزارهای پیچیده تر این روش می تواند مشکل ساز شود. برای مثال، ممکن است عملیات خواندن از دیتابیس شامل انجام Query های پیچیده، کار کردن با DTO ها (Data Transfer Object) و همچنین Object Mapping های پیچیده باشد. از طرفی عملیات نوشتن بر روی دیتابیس می تواند شامل Validation های پیجیده و Business Logic های خاص باشد. بنابراین، اگر در چنین نرم افزارهایی از یک Data Model یکسان برای انجام عملیات خواندن و عملیات نوشتن استفاده شود، Data Model به شدت پیجیده می شود.

علاوه بر این، اغلب عملیات مربوط به Read و Write دارای Workload های غیرمتقارنی هستند. به عبارت دیگر، نیازمندی های Performance و Scalability در این عملیات کاملاً متفاوت می باشد.

سبک معماری CQRS با تفکیک کردن Data Model به دو Data Model جداگانه برای انجام عملیات خواندن و عملیات نوشتن این مشکل را حل می کند. عمیات خواندن از دیتابیس را Query و عملیات نوشتن بر روی دیتابیس را Command نیز می گوییم.

چه زمانی از سبک معماری CQRS استفاده می کنیم؟

بهترین سناریوی استفاده از CQRS در Collaborative Domain ها می باشد که در آنها کاربران زیادی به داده های یکسانی کار می کنند. اغلب در این گونه Domain ها Workload عملیات خواندن و نوشتن نامتقارن است. دقت کنید که CQRS یک معماری سطح بالا (Top-level Architecture) نیست که بتوان آن را به صورت سراسری بر روی یک سیستم اعمال کرد. در واقع CQRS به بخشی از سیستم که در آن تفکیک کردن عملیات خواندن و نوشتن می تواند برای نرم افزار سودمند باشد اعمال می گردد. در غیر اینصورت، پیاده سازی CQRS باعث ایجاد شدن پیچیدگی غیرضروری می شود.

مزایای پیاده سازی CQRS کدامند؟

از مزایای پیاده سازی CQRS می توان به موارد زیر اشاره کرد:

  • Independent Scalability: با استفاده از CQRS می توان Workload های مربوط به عملیات Read و عملیات Write را به صورت مستقل از یکدیگر Scale کرد که این خود می تواند باعث کاهش تعداد lock contention ها شود.
  • Optimized Data Schemas: به دلیل مستقل بودن عملیات Read و عملیات Write نسبت به یکدیگر می توان در عملیات Read از Schema ای استفاده کرد که برای انجام عملیات Read بهینه سازی شده است. همین موضوع را می توان برای عملیات Write نیز انجام داد.
  • امنیت: با استفاده از CQRS می توان به راحتی کنترل کرد که فقط Domain Entity هایی که اجازه ی انجام عملیات Write دارند، این عملیات را انجام دهند.
  • Separation of Concerns: تفکیک کردن Data Model های مربوط به عملیات Write و Read باعث می شود که این Data Model قابلیت Maintainability و Flexibility بالاتری داشته باشند. عمده Business Logic های پیچیده در Write Model قرار گرفته و Read Model ساده تر می شود.
  • Query های ساده تر: با ذخیره کردن یک در دیتابیس Read، می توان از انجام عملیات پر هزینه ی Join در Query ها جلوگیری کرد.

چالش های پیاده سازی CQRS کدامند؟

برخی از چالش های موجود در پیاده سازی CQRS عبارت اند از:

  • پیچیدگی: سبک معماری CQRS ممکن است از نظر ایده ساده باشد اما پیاده سازی آن باعث می شود که طراحی نرم افزار مورد نظر به مراتب پیچیده تر شود. این پیچیدگی با استفاده از الگوی Event Sourcing در کنار CQRS شدت خواهد یافت.
  • Messaging: هر چند که CQRS لزوماً نیازی به استفاده از Messaging ندارد، اما معمولاً برای پردازش Command ها و Publish کردن Update Event ها از Messaging استفاده می شود. در چنین شرایطی نرم افزار باید بتوانید Message Failure ها و Duplicate Message ها را نیز Handle کند.
  • Eventual Consistency: اگر دیتابیس های عملیات Read و عملیات Write را از هم تفکیک کنید، ممکن است داده هایی که از دیتابیس Read خوانده می شوند منقضی و یا اصطلاحاً Stale باشند.

Best Practice های استفاده از CQRS کدامند؟

به منظور بهره مندی هر چه بیشتر از مزایای CQRS به موارد زیر دقت کنید.

  • از الگوی Event Sourcing برای جلوگیری از Update Conflict ها استفاده کنید.
  • به منظور بهینه کردن Schema مربوط به Query ها از الگوی Materialized View در Read Model استفاده کنید.

درباره ی بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی

  • مدت زمان آموزش:
  • تعداد فایل ها:

رجوع به این بسته در سایت Pluralsight

دانلود دموی بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی

عناوین فصل های بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی

فصل اول: قضیه ی CAP

  • مقدمه
  • بررسی قضیه ی CAP
  • کج فهمی های Distributed Computing
  • گزینه های یپش رو
  • جمع بندی

فصل دوم: بررسی Domain Driven Design

  • معرفی Domain Driven Design
  • معرفی Ubiquitous language
  • معرفی Bounded Context
  • معرفی Layered Architecture
  • معرفی Aggregate Root
  • معرفی Aggregate Boundary
  • جمع بندی

فصل سوم: بررسی CQRS

  • معرفی CQRS
  • بررسی Command Query Separation
  • بررسی Domain های Collaborative
  • بررسی یک مثال
  • انجام عملی کار
  • قبل از CQRS
  • بعد از CQRS
  • جمع بندی

فصل چهارم: بررسی Durability

  • ضمانت های Durability
  • گزینه های MSMQ
  • فعال سازی MSMQ و MSDTC
  • بررسی Durable Message Queue
  • تست های Durability
  • جمع بندی

فصل پنجم: بررسی Enterprise Service Bus

  • مقدمه
  • ریفکتور کردن Command ها
  • بررسی عملی Command
  • بررسی Tradeoff های CAP
  • مراحل Integration
  • بررسی عملی Event
  • ریفکتور کردن Subscription
  • بررسی تاریخچه
  • جمع بندی

فصل ششم: بررسی Model های Append Only

  • مقدمه
  • بررسی Event Sourcing
  • مشخص کردن Property های Dependent
  • مشخص کردن Event ها
  • بررسی Model Event ها به عنوان Object
  • بررسی عملی Event Sourcing
  • بررسی Event Streaming
  • بررسی نحوه ی کار کردن Event Streaming
  • بررسی Historical Modeling
  • بررسی نحوه ی کار کردن Historical Modeling
  • Query گرفتن از یک Historical Model
  • جمع بندی

فصل هفتم: بررسی Operational Concern ها

  • مقدمه
  • بررسی Configuration
  • بررسی قوانین Rewrite
  • تفکیک کردن فایل های Config
  • بررسی Shared Configuration Database
  • بررسی Database Versioning
  • بررسی Service Versioning
  • بررسی Message Versioning
  • انجام Deployment
  • جمع بندی
  • جمع بندی بسته ی آموزشی

دیدگاهها

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

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *