ویژگی‌های سیستم خوب

پنج ویژگی کلیدی سیستم: دسترس‌پذیری، مقیاس‌پذیری، تأخیر، سازگاری و دوام — معیارهای تصمیم‌گیری معماری

معیارهای سیستم خوب

هر تصمیم System Design با این سؤال‌ها سنجیده می‌شود — این پنج ویژگی، زبان مشترک معماران است:

۱. دسترس‌پذیری (Availability)

درصد زمانی که سیستم کار می‌کند:

سطحدowntime سالانهنام
۹۹٪۳.۶۵ روزدو ناین
۹۹.۹٪۸.۷۶ ساعتسه ناین
۹۹.۹۹٪۵۲ دقیقهچهار ناین
۹۹.۹۹۹٪۵ دقیقهپنج ناین

هر «ناین» اضافه = هزینه چند برابر! راه‌حل: افزونگی (Redundancy) — چند نسخه از هر جزء.

۲. مقیاس‌پذیری (Scalability)

توانایی جذب بار بیشتر بدون افت کیفیت. دو مسیر:

۳. تأخیر (Latency) و توان عملیاتی (Throughput)

قاعده تجربی: کاربر، تأخیر زیر ۱۰۰ms را «آنی» و بالای ۱ ثانیه را «کند» حس می‌کند. p50/p95/p99: تأخیر بدترین ۱٪ درخواست‌ها را هم ببینید!

۴. سازگاری (Consistency)

همه کاربران همان داده را می‌بینند؟ در سیستم توزیع‌شده، همیشه «بله» ممکن نیست (قضیه CAP — مبحث بعدی‌ها). طیف: Strong تا Eventual.

۵. دوام (Durability)

داده هرگز گم نمی‌شود — حتی با قطع برق، آتش‌سوزی دیتاسنتر! راه: چند نسخه در چند مکان (Replication + Backup).

ترید‌آف‌ها — قلب طراحی

بیشتر بخواه...قربانی...
دسترس‌پذیریسازگاری (CAP!)
سرعت (کش)تازگی داده
دوام (همگام‌سازی)تأخیر نوشتن
همه ویژگی‌ها💰 هزینه!
نکته مصاحبه: هر ویژگی را با «عدد» بیان کنید: «هدف ۹۹.۹٪ دسترس‌پذیری با p99 زیر ۲۰۰ms» — این دقت، شما را ارشد نشان می‌دهد!

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل طراحی سیستم (System Design) است.

ابزارهای مرتبط