help-header

Redundancy چیست؟

Redundancy یا افزونگی یکی از روش‌های تامین High Availability یا در دسترس بودن حداکثری است. HA قابلیتی از یک سیستم است، برای آن‌که بدون وقفه در حال عملیات و پاسخ‌گویی باشد. برای مثال ممکن است به دلیل وقوع مشکلات زیرساختی در سرور پشتیبان وب، وب‌سایت مربوطه در دسترس نباشد. می‎توانید تصور کنید که اگر مدت زمان این مشکل طولانی شود، صاحب وب‌سایت به تناسب کاربرد و مقیاس کاری‌اش چه ضرری متحمل خواهد شد. بنابراین در دسترس بودن حداکثری و کوتاه بودن مدت زمان Down Time جزو مهم‌ترین قابلیت‌های یک سیستم است. در سرویس‌‌ها و سرورهای ابری نیز تامین‌کننده‌ی سرویس این قابلیت مهم را در سیستم خود در نظر می‌گیرند. البته لازم به تذکر است که با فناوری‌های موجود به‌شکل ۱۰۰٪ نمی‌توان در دسترس بود، اما متخصصین تلاش می‌کنند در ۹۹/۹۹٪ مواقع یا حتا ۹۹۹/۹۹٪ مواقع سرویسی که ارایه می‌کنند را در دسترس نگه‌دارند.

 

راهکارهای تامین High Availability

برای آن‌که بتوان در دسترس بودن حداکثری را تامین نمود، در طراحی سیستم باید سه اصل مهم را رعایت کرد:

  • افزونگی یا Redundancy: اگر هنگام خراب شدن یک بخش از سیستم، بخشی دیگر از آن آماده‌ی جایگزینی باشد، به سرعت می‌توان سیستم را به حالت عملیاتی بازگرداند. به عبارت دیگر اگر در سیستم یک نقطه در معرض خطر (یا Single Point of Failure) نداشته و با فراهم کردن افزونگی آن را پوشش دهیم، می‌توانیم در آن سیستم HA را فراهم کنیم. برای مثال اگر فقط یک سرور برای پشتیبانی از وب‌سایت وجود داشته باشد، با خراب شدن آن سرور تا زمان برطرف شدن خرابی، وب سایت در دسترس نخواهد بود. اما اگر یک سرور دیگر آماده‌ی جایگزین شدن سرور قبلی باشد، وب‌سایت پس از زمان بسیار کوتاهی قابل استفاده خواهد بود.
  • انتقال مطمین: در زمان وقوع خرابی، با داشتن افزونگی در محل خرابی بایستی روشی پیش‌بینی شده باشد تا ارایه‌ی سرویس بدون از دست رفتن داده یا تحت تاثیر قرار گرفتن کیفیت عملکرد، به دستگاه جایگزین منتقل شود. برای این منظور سیستم‌های تقسیم بار (Load Balancing) اهمیت بالایی پیدا می‌کنند.
  • توانایی تشخیص محل خطا: اولین نیازمندی هنگام متوجه شدن خرابی درسیستم، قابلیت تشخیص محل خرابی است. تا محل خرابی شناسایی نشود، به درستی نمی‌توان منابع افزونگی را جایگزین کرد.

روش‌های تامین Redundancy

هر کدام از بخش‌های یک سیستم می‌تواند دچار خرابی شود. برای مثال ممکن است یک سرور در یک خوشه از سرورها از بین برود، یک خوشه دچار مشکل بشود یا یک مرکز داده که شامل چندین خوشه است از بین برود. حتا ممکن است منبع تامین توان چند مرکز داده و یا خط ارتباطی آن مراکز داده از دست برود. در تمامی این موارد می‌توان سناریوهای جایگزین در نظر گرفت که با توجه به هزینه‌ی بالای آن‌ها باید راهکاری بهینه انتخاب کرد. شرکت‌های بسیار بزرگ، هزینه‌های هنگفتی برای نقشه‌های جایگزین‌شان می‌کنند تا مطمین شوند سرویس‌هایشان هم‌واره در دسترس کاربرهایشان قرار دارد.