💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ دیدگاه نظر زهرا فرحمند
مقیاس پذیری یا Scaling چیست؟
مقیاس پذیری یا Scaling چیست؟

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

همانطور که متوجه شدید، بردن یک اپلیکیشن به محیط Production چالش‌ها و مخاطرات خاص خود را دارد و صرفا محدود به برنامه نویسی آن نمی‌شود. برای جلوگیری از Down شدن سایت، باید اصطلاحا آن را Scale یا مقیاس پذیر کنید. در این مطلب به معرفی Scale و انواع آن می‌پردازبم.

مقیاس پذیری چیست

مقیاس پذیری به زبان ساده یعنی توانایی یک سیستم یا اپلیکیشن برای مدیریت افزایش ترافیک بازدید کاربران. البته این مدیریت باید به طریقی انجام شود که کاربران متوجه هیچگونه تغییری در سیستم نشوند. یعنی این کار باید با حفظ کیفیت تجربه کاربری (UX) انجام پذیرد.

بخاطر رسیدن به مقیاس پذیری روش سیستم‌های توزیع شده یا Distributed Systems معرفی شد. با استفاده از این روش، مثلا با  10 برابر شدن تعداد بازدیدکنندگان باید منابع سیستم نیز 10 برابر شود و این کار به طریقی انجام شود که کاربران از بیرون متوجه تعدد سیستم‌ها نشوند. در واقع در سیستم‌های توزیع شده در ظاهر اینطور به نظر می‌رسد که فقط یک سرور پاسخگوی درخواست‌های کاربران است.

روش‌های مقیاس پذیری یا Scaling به دو دسته اصلی تقسیم می‌شوند:

  • مقیاس پذیری عمودی (Vertical Scaling)
  • مقیاس پذیری افقی (Horizontal Scaling)

مقیاس پذیری عمودی

مقیاس پذیری عمودی یا مقیاس پذیری به سمت بالا (Scaling Up)، زمانی انجام می‌شود که اپلیکیشن توان هندل کردن بار حجم بالای اطلاعات را نداشته باشد. تصور کنید که شما یک دیتابیس با 10 گیگابایت اطلاعات دارید اما سرور توانایی هندل کردن آن را ندارد. برای هندل کردن این بار اضافی، شما یک سرور گران قیمت جدید با حجم 2 ترا بایت را خریداری می‌کنید. حالا سرور شما می‌تواند اطلاعات بیشتری را در خود ذخیره کند! با این کار شما از روش مقیاس پذیری عمودی استفاده کرده اید.

مقیاس پذیری افقی

horizontal scaling چیست

فرایند مقیاس پذیری افقی که به آن مقیاس پذیری به سمت بیرون (Scaling Out) نیز می‌گویند، برخلاف نوع عمودی آن که روی ارتقای یک سرور تمرکز داشت، روی اضافه کردن تعداد سرورها متمرکز است. در واقع شما تمرکز را از یک سرور برداشته، و بین چندین سرور که خریداری کرده اید، به طور مناسب توزیع می‌کنید. باید توجه داشت که پیچیدگی این روش بسیار بیشتر از روش عمودی است اما در بسیاری موارد راه حل کم هزینه‌تری است.

نتیجه گیری

در این مطلب به توضیح در مورد مقیاس پذیری یا Scaling پرداختیم. همانطور که گفته شد، پس از رفتن اپلیکیشن به مرحله Production، رفته رفته سیستم با چالش هایی مثل هندل کردن ترافیک بسیار بالا مواجه می‌شود که در صورت بی توجهی می‌تواند آسیب‌های جبران ناپذیری را برای کسب و کار شما وارد نماید. مقیاس پذیری فرآیند کنترل این ترافیک است. مقیاس پذیری، به دو نوع مقیاس پذیری افقی و عمودی تقسیم می‌شود که در این مطلب به معرفی اجمالی آن‌ها پرداختیم. آیا شما تجربه Scale کردن سایت‌ها یا اپلیکیشن‌های خود را داشته اید؟ از خواندن تجربیات شما در قسمت نظرات خوشحال می‌شویم!

۷ دیدگاه
ما همه سوالات و دیدگاه‌ها رو می‌خونیم و پاسخ میدیم
۲۱ تیر ۱۴۰۲، ۱۳:۵۹

خیلی ممنون از توضیحتون، خیلی در خصوص کلمه ی scalibility شنیدم، خیلی خوب مفهومشو توضیح دادین

۰۹ دی ۱۴۰۰، ۰۵:۰۱

از احساس وظیفه خطیر اگاهی بخشی کاربران سپاسگذارم . پرتوان و سالم باشید.

لیدا ۰۴ آذر ۱۴۰۰، ۰۹:۴۴

عالی و ساده ممنون

Nazanin KarimiMoghaddam ۰۶ آذر ۱۴۰۰، ۰۶:۰۱

ممنون که با ما همراه هستید :)

علیرضا ۲۹ آبان ۱۳۹۹، ۰۷:۴۰

استفاده کردم.ممنون

عبدالله حسینی ۲۸ اردیبهشت ۱۳۹۸، ۱۲:۵۲

تشکر بخاطر معلومات ارزشمندتان که به اشتراک گذاشتید.

مجتبی صفدری ۲۴ اردیبهشت ۱۳۹۸، ۱۲:۵۱

thanks for such a good article hope these type of articles to be continued : )

  • مقیاس پذیری چیست
  • نتیجه گیری
اشتراک گذاری مقاله در :