الگوریتم های تعادل بار

الگوریتم های تعادل بار چیست؟

تعادل بار مؤثر با هوشمندی تعیین می کند که کدام وسیله موجود در یک مزرعه سرور خاص قادر به پردازش یک بسته داده ورودی است. انجام این کار نیاز به الگوریتم هایی دارد که برای توزیع بارها به روشی خاص برنامه ریزی شده اند.

الگوریتم ها بسته به اینکه بار در شبکه یا لایه برنامه توزیع شود ، بسیار متفاوت است. انتخاب الگوریتم تأثیر مکانیسم های توزیع بار و به تبع آن عملکرد و استمرار تجارت را تحت تأثیر قرار می دهد.

در اینجا ما در مورد جوانب مثبت و منفی در مورد چندین الگوریتم پرکاربرد که در هر دو راه حل تعادل بار لایه شبکه و برنامه کاربردی است ، بحث خواهیم کرد.

شبکه در مقابل لایه برنامه

الگوریتم های لایه شبکه و لایه برنامه در نحوه توانایی تحلیل ترافیک ورودی و معیارهای استفاده شده برای توزیع بارهای ترافیکی متفاوت است.

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

شبکه در مقابل لایه برنامه

الگوریتم های لایه شبکه

چالش اصلی تعادل بار لایه شبکه ، عدم دید در گردش است و محدود به اطلاعات ذخیره شده در هدرهای بسته شبکه است. تصمیم گیری های مسیریابی باید تنها براساس چند عامل انجام شود – در درجه اول داده های IP منبع و مقصد.

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

نمونه هایی از الگوریتم های لایه شبکه عبارتند از:

  • گرده گرد – دسته ای از سرورها برای کنترل بار با روشی پی در پی برنامه ریزی می شوند. این الگوریتم فرض می کند که هر دستگاه قادر است همان تعداد درخواست را پردازش کند و قادر به ایجاد ارتباط فعال نیست.
  • وزنه برداری وزنه بردار – سرورها براساس میزان نسبی درخواست هایی که هر یک قادر به پردازش هستند ، رتبه بندی می شوند. به افراد با ظرفیت بالاتر درخواست های بیشتری ارسال می شود.
  • اتصالات حداقل – درخواست ها به کمترین تعداد اتصالات فعال به سرور ارسال می شوند ، با فرض اینکه تمام اتصالات مقدار مساوی از بار سرور را تولید می کنند.
  • حداقل اتصالات با وزن کم – سرورها بر اساس قابلیت پردازش آنها رتبه بندی می شوند. بار با توجه به ظرفیت نسبی سرورها و تعداد اتصالات فعال روی هر یک توزیع می شود.
  • Source IP hash – آدرس IP و مقصد را در درخواست برای تولید یک کلید هش ترکیب می کند ، که سپس به یک سرور خاص تعیین می شود. این اجازه می دهد تا یک اتصال افتاده به همان سرور اصلی که از آن استفاده می کند ، برگردد.

در حالی که این الگوریتمها در سناریوهای قابل پیش بینی ترافیک کافی هستند ، اما آنها در مقابله با بارهای ناهموار / غیر منتظره سرور مؤثر نیستند.

الگوریتم های لایه برنامه

توازن بار لایه برنامه درخواستها را بر اساس محتوای درخواستهایی که در حال پردازش هستند از جمله هدر HTTP / S و پیام آن علاوه بر کوکی های جلسه توزیع می کند. آنها همچنین می توانند پاسخ های خود را هنگام بازگشت از سرور ردیابی کنند ، بدین ترتیب داده هایی را درباره بار بارگیری هر سرور در هر زمان ارائه می دهند.

برخلاف ماهیت سوداگرانه تعادل بار شبکه ، توازن بار برنامه کاربردی است. این امر توزیع هوشمندانه درخواستهای دریافتی را فراهم می کند.

بیشتر بخوانید >>‌ زمان بارگذاری صفحه وب سایت چیست؟

قابل توجه ترین الگوریتم لایه برنامه حداقل درخواست های در انتظار (LPR) است. این برنامه در انتظار درخواست HTTP / S نظارت می کند و آنها را در دسترس ترین سرور توزیع می کند. LPR می تواند فوراً با هجوم ناگهانی اتصالات جدید تنظیم کند و همزمان به طور مداوم بار کار همه سرورها را در یک مزرعه سرور مشاهده کند.

مزایای LPR شامل:

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

انتخاب الگوریتم متعادل کننده بار مناسب

در انتخاب یک الگوریتم متعادل سازی بار ملاحظات زیادی وجود دارد. به طور خاص ، انتخاب شما باید بتواند هر دو سناریوی قابل پیش بینی (به عنوان مثال ، جریان ترافیک معمولی) و موارد غیرقابل پیش بینی را کنترل کند (مثلاً هجوم درخواست ناگهانی که بار سنگینی ایجاد می کند).

سناریوهای غیرقابل پیش بینی ، که الگوریتم های لایه شبکه قادر به انجام کار نیستند ، بیشترین نگرانی را برای اپراتورهای سایت دارد. علاوه بر این ، تاخیرهای مربوط به TTL باعث می شود که توازن بار شبکه کمتر از یک راه حل بهینه باشد.

از طرف دیگر الگوریتم های لایه برنامه به حفظ عملکرد بهینه وب سایت در هر دو سناریوی قابل پیش بینی و غیرقابل پیش بینی کمک می کند.

منبع