مقیاس پذیری در طراحی اپلیکیشن

مقیاس پذیری در طراحی اپلیکیشن

توسعه پذیری یا همان Scalability که بعضا به آن مقیاس پذیری هم گفته می شود یک تعریف بسیار ساده دارد: سیستمی که بتواند خواسته های در حال افزایش را پاسخ دهد. برای مثال اگر شما یک نرم افزار دارید که بر روی یک سرور قرار دارد(مثلا یک وب سایت)، و روزانه ۱۰۰بازدید کننده از وب سایت شما دیدن می کنند، و بعد از مدتی این ۱۰۰بازدید کننده در روز به ۱۰هزار بازدید کننده رسید، در صورتیکه سرور شما بتواند با هزینه ی به نسبت معقولی این ۱۰هزار بازدید کننده را مدیریت کند، شما یک سیستم Scalable یا توسعه پذیر خواهید داشت. مثلا فرض کنید، برای ۱۰۰بازدید در روز، شما مبلغ ۱۰هزار تومان در ماه پرداخت میکردید. حالا که بازدید شما۱۰هزار نفر شده(یعنی ۱۰۰برابر شده)، هزینه ی شما نباید ۱۰۰برابر شود. مثلا هزینه شما به جای ۱۰هزار تومان در ماه، بایستی ۲۰هزار تومان در ماه(یعنی ۲برابر) شود، تا بتوانیم بگوییم یک سیستم توسعه پذیر داریم.

یکی از اهداف سیستم های توزیع شده نیز، توسعه پذیری آن هاست.

اگر در یک سیستم توزیع شده، درخواست هایی(Requests) که به سیستم می آیند ۱۰برابر شود، سیستم توزیع شده باید بتواند مثلا با ۲برابر کردن منابع خود، این تعداد درخواست ها را بدون مشکل پاسخ گو باشد.

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

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


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

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

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

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

 
ارسال پیام | درخواست مشاوره