مبانی و مفاهیم Load Balancing

ایجاد شده توسط | آذر ۱۷, ۱۳۹۵

مقدمه

به توضیع بار شبکه و یا ترافیک نرم افزاری روی سرور های Cluster جهت بهینه سازی پاسخ به درخواست و افزایش کیفیت و پایداری تقسم بار یا Load Balancing گفته میشود. سرور یا سیستم تقسیم بار بین Client و Server Farm قرار میگیرید و ترافیک های شبکه و نرم افزار را با استفاده از متد های گوناگون بین سرور ها توضیع میکند که با انجام این عمل بین سرور ها از بروز Single Point Failure جلوگیری میشود. Load Balancing یکی از بهترین و کارامد ترین معماری برای Application server میباشد.

wikiconfig-loadbalancing

با راه اندازی این متد زمانی که درگیری سرور و مصرف منابع Application بالا میرود میتوان به راحتی سرور های جدید را به Server Pool اضافه کرد. به محض اضافه شدن سرور جدید Request ها و ترافیک روی سرور جدید نیز توضیع خواهد شد.

با توجه به توضیحات بالا وظایف Load Balancer به شرح زیر خواهد بود:

  • توضیع درخواست های Client و یا ترافیک شبکه بصورت موثر بین سرور ها
  • اطمینان از پایداری سرویس، کیفیت و اعتماد با فرستادن درخواست Client به سمت سرور های فعال و در دسترس
  • ارائه انعطاف پذیری در حذف و یا اضافه سرور در صورت نیاز

تقسیم بار یا همان Load Balancing چگونه انجام میشود:

زمانی که یک Application Server غیر قابل دسترس میشود Load balancer تمامی درخواست های مربوط به Application را به یکی دیگر از سرور های فعال ارجاع میدهد. جهت تحویل پیشرفته درخواست های نرم افزاری از یک سیستم Application Delivery Controller یا به اختصار ADC استفاده میشود تا امنیت و Performance در زمان ارجاع درخواست به Web افزایش یابد. ADC فقط یک Load Balancer نیست بلکه یک پلتفرم جهت تحویل شبکه، Application، سرویس های مبایل با سرعت و امنیت بالا میباشد.

wikiconfig-ADC

متدها و الگوریتم های Load Balancing

  • The Least Connection Method : زمانی که Virtual Server طوری کانفیگ میشود تا از متد Least Connection استفاده کند سرویسی که کمترین تعداد کانکشن را دارد جهت پاسخ به درخواست انتخاب میشود.
  • The Round Robin Method : در این الگوریتم بصورت گردشی درخواست ها بین Server یا service ها تقسیم میشود. به این صورت که Server ها یا Service ها بصورت یک لیست شده و درخواست به اول سرویس دهنده لیست ارسال میشود و این متد بصورت گردشی ادامه میابد.
  • The Least Response Time Method : در این روش درخواست به سرویس دهنده ای که کمترین تعداد کانکشن و کمترین میانگین زمانی پاسخدهی را دارد ارسال میشود.
  • The Least Bandwidth Method : این متد برای سرویس دهندگان File Server مناسب بوده و سروری که کمترین میزان مصرف ترافیک شبکه را دارد جهت پردازش درخواست انتخاب میشود.
  • The Least Packets Method : در این متد سرویس دهنده ای کمترین میزان packet را در بازه مشخص دریافت میکند انتخاب میشود.
  • The Custom Load Method: زمانی که این متد جهت Load BAlancing انتخاب شود سرویسی که هیچ درخواستی را برای پردازش ندارد انتخاب میشود، اگر همه سرور ها در حال پردازش Transaction بودند سروری که کمترین میزان لود را داراست جهت پردازش درخواست جدید انتخاب میشود.

دلیل استفاده از Load Balancing چیست ؟!

در هر صورت استفاده از این ساختار باعث پایداری، کیفیت و افزایش امنیت در سرویس دهی خواهد شد. در سیستم های Critical Mission و سیستم هایی که High Availability در ان مهم است استفاده از تقسیم بار ضروری میباشد.


مقاله کوتاه بالا فقط جهت اشنایی شما با مفهوم و متد های Load balancing میباشد. پیاده سازی این متد ها روی بخش های مختلف مانند دیتابیس، وب سرویس، DNS و … در آینده اموزش داده خواهد شد. امید وارم مقاله بالا بصورت نسبی شما را با این مقوله اشنا کرده باشد.

موفق باشید.

منبع “WikiConfig

پاسخ دهید

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