بازگشت به کتابخانهکتابخانه9.3Multi-Region، CRDT و بازیابی فاجعه
طراحی سیستم نرم‌افزاریSYSTEM DESIGNاز صفر تا تسلط
v1.0.0
01مبانی و تصویر بزرگ
02Scalability و ظرفیت
03لایه داده
04Cache، Queue و جریان
05معماری نرم‌افزار
06قابلیت اطمینان و عملیات
07متد طراحی
08Case Study های واقعی
09سیستم‌های توزیع‌شده عمیق
10مهندسی تولید: داده، امنیت و کارایی
11تمرین پیشرفته و کیس‌استادی‌های مکمل
12زیر کاپوت دیتابیس و معماری داده
13وب بلادرنگ و پروتکل‌های مدرن
14سیستم‌های توزیع‌شده پیشرفته
15SaaS ،SRE ،امنیت و شبکه پیشرفته
16طراحی سیستم در عصر AI
17Case Study های تکمیلی
LESSON 9.3فصل ۹سیستم‌های توزیع‌شده عمیق

Multi-Region، CRDT و بازیابی فاجعه

  • ~۱۶ دقیقه
  • ۲ پرسش
  • متن را انتخاب کن تا هایلایت شود

چند AZ یعنی چند ساختمان مستقل در یک منطقهٔ جغرافیایی؛ چند Region یعنی مثلاً دیتاسنتر تهران و فرانکفورت. Region دوم می‌تواند کاربران دور یا خرابی کامل منطقه را پوشش دهد، ولی هماهنگ‌کردن داده بین آن‌ها سخت‌تر و گران‌تر است.

مدلنوشتنمزیتهزینه
Single-region + DRیک region؛ replica/backup دورساده، RPO/RTO روشنfailover کندتر
Active-passiveregion دوم آماده یا گرمکنترل conflict سادهظرفیت بلااستفاده و RTO
Active-activeهر region می‌نویسدتأخیر محلی و تحمل فاجعهconflict، routing و observability پیچیده

انتخاب بر اساس داده، نه شعار

Home region
هر tenant/user یک region مالک دارد؛ write همان‌جا و read جهانی از replica. راه ساده برای کاهش conflict.
Conflict resolution
last-write-wins ساده ولی ممکن است داده را بی‌صدا حذف کند؛ برای داده مهم rule دامنه یا review لازم است.
CRDT
ساختار داده‌ای که merge آن جابه‌جاپذیر و همگراست؛ مانند G-Counter یا OR-Set. مناسب شمارنده/مجموعه، نه همه business ruleها.
RPO/RTO
باید per-service و عددی باشد: مثلاً پرداخت RPO=0 و RTO=۱۵ دقیقه؛ analytics ممکن است RPO=۱ ساعت تحمل کند.

طرح DR کامل شامل backup immutable، restore آزمایش‌شده، runbook، DNS/traffic failover، رازها و dependencyهای region دوم است. backup بدون تمرین restore، ضمانت نیست. برای active-active، duplicate request بین region و failover وسط پرداخت را با idempotency سراسری و reconciliation تست کن.

به زبان ساده

داشتن دیتاسنتر دوم یعنی کاربرِ دور و خرابیِ کامل یک منطقه پوشش داده می‌شود؛ اما وقتی دو منطقه هم‌زمان می‌نویسند، باید برای تداخل داده‌ها قانون داشته باشی.

مثال واقعی

کاتالوگ فروشگاه جهانی از نزدیک‌ترین region خوانده می‌شود و چند ثانیه کهنگی‌اش مهم نیست؛ ولی آخرین موجودی کفش نباید هم‌زمان در تهران و اروپا کم شود — برای موجودی یک region مالکِ نوشتن است.

دانش‌سنجی

آزمون درس

۲ Q
01
برای موجودی محدود در چند region، انتخاب امن‌تر در شروع چیست؟
02
CRDT بیشتر برای چه مناسب است؟