Load balancer وسیله ای است که عملکرد آن به صورت پروکسی معکوس می باشد و ترافیک شبکه یا برنامه ها را، بین چندین سرور توزیع می کند. از load balancer به منظور افزایش ظرفیت برای کاربران همزمان و همچنین قابلیت اجرای صحیح و مطمئن برنامه ها استفاده می شود. کاری که load balancer ها انجام می دهند این است که با کاهش بار سرورها در رابطه با مدیریت و حفظ session های برنامه و شبکه و همچنین انجام امور خاص برنامه ها، عملکرد کلی برنامه ها را بهینه می نمایند.
به طور کلی load balancer ها به دو گروه اصلی تقسیم می شوند: لایه 4 و لایه 7.
عملکرد لودبالانسر های لایه 4 بر اساس داده های موجود در لایه شبکه و Transport و پروتکل های IP، TCP، FTPو UDP می باشد و کاری که لودبالانسر های لایه ی7 انجام می دهد این است که درخواست های ورودی را بر اساس داده های موجود در پروتکل لایه برنامه (application layer protocols) مانند HTTP توزیع می کند.
لازم به ذکر است درخواست های ورودی توسط هر دو نوع لود بالانسرها دریافت می گردد، سپس بر اساس یک الگوریتم تنظیم شده به یک سرور خاص توزیع و هدایت می گردند. برخی از الگوریتم های استاندارد صنعتی عبارتند از:
- Round robin
- Weighted round robin
- Least connections
- Least response time
load balancer لایه 7 می تواند درخواست های ورودی را بر اساس داده های خاص برنامه ها مانند HTTP header، کوکی ها و یا داده های موجود در خود پیام برنامه ها مانند مقدار یک پارامتر خاص توزیع کند.
لودبالانسرها، قابلیت اطمینان و در دسترس بودن را با نظارت بر سالم بون برنامه ها تضمین می کند و تنها درخواست ها را به سرور و برنامه هایی ارسال می کند که می توانند به موقع پاسخ دهند.