در این مقاله قرار است به تکنولوژی load balancing بپردازیم، این که Load balancing چیست و با انواع Load balancing یا به عبارتی با انواع سیستم متعادل سازی توزیع بار آشنا شویم .
از طرفی تکنولوژی لود بالانسینگ یکی از پایهها و اساسهای میزبانی ابری است ، چه در محصولات سرور ابری و چه در محصولات هاست ابری .
مواردی که در این مقاله به آنها خواهیم پرداخت عبارتند از :
- Load balancing چیست؟
- انواع Load balancing
- Cloud Load balancing یا به عبارتی توزیع بار ابری چیست؟
- dns Load balancing چیست؟
در واژه Load balancing کلمهی load به معنای بار ، یا همان درخواست هایی ارسال شده به سرور و کلمه balancing به معنای متعادل سازیست . حس میکنم کمی به مفهوم این کلمه نزدیک تر شدید و اما چگونه صورت میگیرد؟
فرض کنید وبسایتی داریم که روزانه صدها هزار بازدید کننده دارد که هرکدام از بازدید کنندگان به دنبال دانلود عکس، ویدئو و ارسال هزاران درخواست به سرور هستند. قطعا برای این وبسایت نمیتوان از یک هاست یا سرور مجازی معمولی استفاده کرد .
شاید اولین پیشنهاد خرید یک سرور اختصاصی باشد که در این حالت نیاز به بوجهی بسیار زیادی برای تهیه زیر ساخت داریم.
در اینجاست که پای متعادل سازی توزیع بار یا همان load balancing به میان میآید. در این حالت با چندین سرور به اصطلاح استخری مجازی را میسازیم .
بگذارید ساده تر بگوییم تکنولوژی load balancing بهمانند پلیسی در این میان به هماهنگ سازی و هدایت ترافیک سرور عمل میکند.
قرار نیست همه درخواستها از یک سرور بازخوانی و ارسال شود ، بر روی هر سرور از استخر وبسایتها نسخه ای را دارند و به هنگام درخواست کاربر ابتدا درخواست به پلیس رسیده و این پلیس درخواست را به خلوت ترین سرور ارجاع میدهد. همچنین وظیفه پلیس این استخر است که نگذارد هیچ سروری بیشتر از حد استاندارد زیر فشار ترافیک رفته و اگر سروری به استخر اضافه شده عملیات توزیع بار متعادل را دربین سرورها دوباره برنامه ریزی و توزیع بار استاندارد را به آن سرور نیز ارجاع دهد.
بهطور خلاصه عملکرد یک لود بالانسر بصورت زیر است :
- درخواستهای کاربران را به طور موثر در بین سرورها توزیع میکند.
- با ارسال درخواست به سرورهای در دسترس آپتایم را افزایش میدهد.
- در صورت نیاز با افزایش و کاهش منابع بصورت منعطف عمل میکند.
الگوریتمهای Load Balancing (لود بالانسینگ)
تکنولوژی لود بالانسینگ ، الگوریتم و سازوکارهای مختلفی دارد که هرکدام از آنها مزایای خاصی را در اختیارتان قرار میدهند . اینکه از چه الگوریتمی استفاده کنید بستگی به نیاز شما دارد.
- Round Robin – درخواست ها به صورت متوالی در بین گروهی از سرورها توزیع می شوند.
- Least Connections – در خواست جدید از سمت کاربر به سروری هدایت شده که در حال حاظر کمترین فعالیت و اتصال را با کاربران دارد. به عبارت ساده تر، ارجاع به خلوت ترین سیستم.
- Least Time – درخواستها بر اساس فرمولی ترکیبی به سریعترین سرور با حداقل ترین فعالیت (براساس الگوریتم بالا) ارسال میشوند.