بازگشت به کتابخانهکتابخانه6.1دسترس‌پذیری و تحمل خطا
طراحی سیستم نرم‌افزاری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 6.1فصل ۶قابلیت اطمینان و عملیات

دسترس‌پذیری و تحمل خطا

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

سؤال طراحیِ قابل‌اعتماد این نیست که «اگر خراب شود»، این است که «وقتی خراب شد». دیسک می‌سوزد، سرور می‌میرد، دیتاسنتر برق می‌رود — سیستم خوب برای همه این‌ها جوابِ از-پیش-طراحی‌شده دارد.

افزونگی در هر طبقه

  • سرور: حداقل ۲ نمونه از هر سرویس پشت LB — خرابی یکی نامرئی است.
  • دیتابیس: Replication + Failover خودکار (فصل ۳).
  • دیتاسنتر: چند Availability Zone؛ حتی چند Region برای زلزله/قطع کامل.
  • وابستگی بیرونی: درگاه پرداخت دوم، ارائه‌دهنده پیامک دوم — با سوییچ خودکار.
Active-Passive
یدکی آماده ولی بیکار؛ سوییچ هنگام خرابی. ساده، کمی downtime سوییچ.
Active-Active
همه نسخه‌ها همزمان کار می‌کنند؛ استفاده کامل از ظرفیت، ولی نیازمند Stateless بودن یا همگام‌سازی جدی.
RTO / RPO
دو عدد فاجعه: چقدر طول می‌کشد برگردیم (RTO) و چقدر داده از دست می‌رود (RPO). بکاپِ ۲۴ساعته یعنی RPO تا ۲۴ ساعت!
Graceful Degradation
مغازه نمی‌بندد: پیشنهادگر خراب؟ پرفروش‌ها را نشان بده. جستجو کند؟ نتایج کش‌شده. هسته زنده بماند، تزئینات بعداً.

دشمن پنهان: خرابی‌های همبسته. دو replica روی یک rack، دو LB پشت یک برق، retry storm ای که خودش DDoS داخلی می‌شود. افزونگیِ واقعی یعنی حذف سرنوشت مشترک — و تمرینِ خرابی (Chaos Engineering: عمداً بکُش، ببین چه می‌شود).

به زبان ساده

قابلیت اطمینان یعنی از پیش برای خرابی‌های عادی برنامه داشته باشیم، نه اینکه بعد از حادثه دنبال راه‌حل بگردیم.

مثال واقعی

اگر یک دیتاسنتر قطع شد، نسخه دیگر سرویس باید با RTO مشخص بالا بیاید؛ این فقط با تمرین failover قابل اعتماد است.

دانش‌سنجی

آزمون درس

۴ Q
01
RPO = 1 ساعت یعنی چه؟
02
Graceful Degradation یعنی…
03
دو replica ی دیتابیس روی یک rack قرار دارند. مشکل؟
04
چرا Chaos Engineering (کشتن عمدی) منطقی است؟