پرش به مطلب اصلی

مقیاس‌پذیری

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

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

به‌طور کلی دو نوع مقیاس‌ در زیرساخت وجود دارد:

  • عمودی: مقیاس عمودی (Vertical Scaling) امکان تغییر منابع اپلیکیشن (RAM / CPU / Ephemeral Storage) را در اختیارتان قرار می‌دهد.
  • افقی: مقیاس افقی (Horizontal Scaling) امکان تغییر تعداد نمونه‌های اپلیکیشن را در اختیارتان قرار می‌دهد.

مقیاس عمودی

اگر نیاز به افزایش یا کاهش منابع یک اپلیکیشن از جمله RAM ،CPU یا Ephemeral Storage داشتید می‌توانید پس از کلیک روی نام اپلیکیشن در پنل کاربری آروان وارد بخش تنظیمات شوید.

در این صفحه و از قسمت «مقیاس عمودی» می‌توانید منابع موردنیازتان را مشخص و در پایان روی گزینه‌ی اعمال کلیک کنید.

توجه داشته باشید که این فرآیند هیچ وقفه‌ای در عملکرد اپلیکیشن‌تان ایجاد نمی‌کند.

مقیاس افقی

به‌کمک مقیاس افقی در کانتینر ابری آروان، که معادل HPA در کوبرنتیز است، می‌توانید به‌شکل آنی تعداد کانتینرهای اپلیکیشن را افزایش دهید تا با پیاده‌سازی سناریوهای Load Balancing بار را به‌شکل خودکار بین پادهای مختلف تقسیم کنید. مقیاس افقی (Horizontal Scaling) به شما این امکان را می‌دهد که تنها با چند کلیک، از اپلیکیشن‌تان چند نمونه بسازید. این قابلیت را می‌توانید هم به‌شکل دستی و هم به‌شکل خودکار انجام دهید.

توجه داشته باشید که این قابلیت فقط برای اپلیکیشن‌هایی قابل پیاده‌سازی است که دیسک ندارند (سرویس‌های Stateless). اگر روی اپلیکیشن شما دیسک (Persistent Stoarge) فعال است، امکان استفاده از تغییر مقیاس دستی و خودکار برای شما وجود نخواهد داشت.

برای تغییر مقیاس افقی، روی نام اپلیکیشن کلیک کرده و وارد بخش «مقیاس» شوید.

تغییر مقیاس دستی

با استفاده از مقیاس دستی، می‌توانید به‌ تعداد پاد تعریف‌شده نسخه‌ی یکسان از اپلیکیشن ایجاد کنید. با این کار قابلیت Load Balancing به‌شکل خودکار روی آن‌ها فعال خواهد شد تا بار تقریبن یکسانی روی پادها جریان یابد. این قابلیت در هر زمانی امکان تعریف و تغییر دارد و برای کاربرانی که معمولن بار یکسانی روی اپلیکیشن دارند توصیه می‌شود.

توجه داشته باشید با کاهش تعداد پاد به صفر، اپلیکیشن غیرفعال و از دسترس خارج می‌شود.

تغییر مقیاس خودکار

با مقیاس خودکار، هنگام افزایش بار روی پردازنده‌ی اپلیکیشن، به‌شکل خودکار پادهای مشابه ایجاد و بار بین آن‌ها تقسیم می‌شود. در واقع کاربر تعیین می‌کند که چند پاد در زمان اوج ترافیک در اختیار اپلیکیشن باشد، مثلن اگر مصرف CPU به مقدار مشخصی رسید پاد اضافه و توزیع بار انجام شود. اگر دوباره هم به این مصرف CPU رسید (و حداکثر پادی که تعیین‌شده بیش‌تر از ۲ باشد) یک پاد دیگر هم اضافه می‌شود. این کار تا زمانی که به سقف پادها نرسیده باشد ادامه می‌یابد.

ابتدا سقف میزان مصرف پردازنده را مشخص کنید. این مقدار تعیین می‌کند ایجاد پادها و فعال‌سازی قابلیت Load Balancing در چه میزان مصرفی از پردازنده انجام شود. سپس با مشخص کردن تعداد پاد، می‌توانید تعداد نسخه‌هایی که از اپلیکیشن ایجاد می‌شوند را تعریف کنید.

پس از انتخاب گزینه‌ی اعمال، با افزایش بار روی CPU تا اندازه‌ی مشخص‌شده، به‌شکل خودکار به تعداد تعریف‌شده نسخه‌ی مشابه از اپلیکیشن ایجاد خواهد شد و بار روی آن‌ها تقسیم می‌شود تا از بروز مشکلات عملکردی به‌دلیل نبود منابع پیش‌گیری شود.