محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

Load Balancer ها چگونه کار می کنند؟ معرفی 6 الگوریتم Load Balance

قبلا در مقاله ای در ITPRO در خصوص اینکه Load Balancer چیست صحبت کردیم ، اما مهم است که حداقل بدانید که روش کاری این تجهیزات به چه شکل است. زمانیکه شما یک Server Farm دارید و در آن از Load Balancer استفاده می کنید و یکی از سرورها از مدار خارج شده و دیگر سرویس نمی دهد ، Load Balancer بصورت خودکار سرور مورد نظر را از مدار خارج نگه داشته و تمامی درخواست های جدیدی که به Load Balancer وارد می شوند به سایر سرورها هدایت می شوند و دیگر مستقیما به سمت سرور از مدار خارج شده هدایت نمی شوند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای اینکه حالت های پیشرفته تری از Load Balancing را داشته باشیم و مطمئن شویم که درخواست های کاربران به درستی به Application هایی که در سرورها نصب شده اند می رسد Load Balancer ها از مکانیزمی به نام ADC که مخفف Application Delivery Controller به معنی کنترل کننده رسید درخواست های نرم افزارهای کاربردی ( ترجمش واسه خودش سوژه ای هست ) استفاده می کند که باعث بالا رفتن کارایی ، امنیت ، انعطاف پذیری در سرویس دهی application های تحت وب درون سرورها می شود.

در واقع ADC فقط یک Load Balancer نیست ، این مکانیزم می تواند پلتفرمی برای اطمینان از دریافت شدن و رسیدن بسته های اطلاعاتی در شبکه ها ، بالا بردن سرویس های تحت وب در application های تحت وب و موبایل و همچنین امن ترین و مطمئن ترین روش برای دسترسی پذیری سرویس ها در نقاط جغرافیایی مختلف را فراهم می کند ، در ADC محل قرار گیری سرور و زمان و نحوه دسترسی تفاوت زیادی در نحوه سرویس دهی نخواهند داشت.

روش کاری Load Balancer ها

الگوریتم ها و روش های انجام Load Balancing در Load Balancer

تجهیزات و نرم افزارهای Load Balancer از الگوریتم های مختلفی برای اینکار استفاده می کنند که به آنها Method ها یا روشهای Load Balancing گفته می شود ، این الگوریتم ها برای استفاده در ADC کاربرد دارند و وظیفه آنها این است که بهترین سرور و مناسب ترین سرور را برای ارسال درخواست کاربر و هدایت درخواست به سمت سرور انتخاب کنند ، در این خصوص الگوریتم ها یا Method هایی به شکل زیر در حال حاضر وجود دارند که این وظیفه را بر عهده دارند :

  1. روش کمترین تعداد Connection : در این روش که روش پیشفرض در بسیاری از Load Balancer ها است سروری که کمترین تعداد Connection فعال بر روی آن وجود دارد درخواست های جدید کاربران را دریافت خواهد کرد.
  2. روش Round Robin : در این روش سرورها به ترتیب در Load Balancer مثل یک دایره لیست می شوند ، هر بار که درخواستی به سمت Load Balancer می آید به ترتیب لیست و ترتیب بین سرورها درخواست ها را تقسیم می کند ، به محض اینکه درخواستی به Load Balancer برسد به اولین سرور موجود در لیست ارجاع داده می شود و سرور بعد از دریافت کردن درخواست به آخر صف می رود و منتظر می ماند که همه سرورها درخواست بگیرند تا نوبت به سرور مورد نظر برسد.
  3. روش کمترین زمان پاسخ یا Least Response Time : در این نوع روش سروری که کمترین تعداد connection فعال را به همراه کمترین زمان پاسخگویی به درخواست دارند شناسایی و درخواست از طریق Load Balancer به سمت آن هدایت می شود.
  4. روش کمترین پهنای باند یا Least Bandwidth : در این روش سروری که کمترین استفاده از پهنای باند موجود در لینک ها را دارند بر اساس معیار مگابیت بر ثانیه شناسایی شده و درخواست به سمت آن هدایت می شود.
  5. روش کمترین تعداد Packet یا Least Packets : در این روش سروری که کمترین تعداد Packet در طی وهله های زمانی معین را دارد شناسایی و درخواست ها به سمت آن هدایت می شود.
  6. روش Load دلخواه یا Custom Load : در این روش Load Balancer سرورهایی که کمترین تعداد یا اینکه هیچ تعداد connection و درخواست فعال ندارند را شناسایی کرده ، اگر همه سرورها درگیر سرویس دهی به connection های کاربران باشند سروری که کمترین تعداد connection فعال بر روی آن وجود دارد را وارد مدار و درخواست ها را به سمت آن هدایت می کند.
روشهای مختلف Load Balancing

از Load Balancer در چه زمانی استفاده می شود ؟

همه روزه ترافیک شبکه های عمومی بسیار زیاد و زیادتر می شود تعداد درخواست ها نیز به همین ترتیب همه روزه در حال رشد هستند ، شبکه ها هر روز پیچیده تر و پر ترافیک تر می شوند. Load Balancer ها به شما این امکان را می دهند که کارایی و امنیت مرتبط با سرویس دهی در حوزه ترافیکی شبکه خودتان را در حوزه application ها تضمین کنید ، یکی از مواردی که خیلی از Load Balancer ها می توانیم استفاده کنیم در سرویس های بانکی است که امروزه در اکثر بانک های ایران از تجهیزات Load Balancer از نوع F5 استفاده می شود. امیدوارم مورد توجه شما قرار گرفته باشد. در دوره آموزش نتورک پلاس به بررسی مفهوم خطاپذیری ، تقسیم بار یا Load Balancing و البته دسترسی پذیری بصورت مفصل پرداخته ایم.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات