وب‌سرویس مجید

پروژه cap

dotnetcore/CAP

کاربرد:

این یک راه‌حل برای مدیریت تراکنش‌های توزیع‌شده در معماری میکروسرویس‌هاست که بر اساس الگوی سازگاری نهایی (eventually consistency) کار می‌کند. همچنین به عنوان یک سیستم Event Bus با استفاده از الگوی Outbox عمل می‌کند تا پیام‌ها را به صورت قابل اعتماد ارسال کند.

در چه شرایطی بهتره استفاده شود؟

وقتی در یک سیستم میکروسرویسی نیاز داری که تغییرات داده در یک سرویس به صورت ایمن و قابل اطمینان به سرویس‌های دیگر منتقل شود، بدون اینکه تمام سرویس‌ها در یک تراکنش اتمیک باشن. این ابزار بهت کمک می‌کنه تا از دست رفتن پیام‌ها جلوگیری کنی و تضمین کنی عملیات به درستی انجام شدن.

چند مثال از موارد استفاده

- وقتی کاربری ثبت‌نام می‌کنه، یک رویداد برای ارسال ایمیل خوش‌آمدگویی ارسال شود.

- پس از ثبت سفارش، سرویس انبارداری باید موجودی کالا رو آپدیت کنه.

- تغییر وضعیت پرداخت باید به چند سرویس دیگه مثل لج و گزارش‌دهی اطلاع داده شود.

  • ##DistributedTransactions
  • ##EventBus
  • ##OutboxPattern
  • ##Microservices
  • ##CAP
  • ##DotNetCore
  • ##EventuallyConsistent
  • ##ReliableMessaging
  • ##CQRS
  • ##EventDrivenArchitecture