عبارت Load Balancer که در محصولات F5 به کار رفته به یک فیچر و یا مولفه ای اشاره دارد که ترافیک ورودی شبکه را بین چندین سرور توزیع می کند تا علاوه بر پرفورمنس، قابلیت اطمینان و توسعه پذیری را نیز بهبود بخشد. در واقع می توان عملکرد لود بالانسر را به یک واسطه بین کلاینت و سرور تشبیه کرد که ترافیک را به طور هوشمندانه و بر اساس الگوریتم ها و فاکتورهایی مانند صحت و سلامت سرور، منابع موجود و … توزیع می کند. به این ترتیب تضمین می شود که هر سرور میزان مشخصی از حجم ترافیک را دریافت کرده و مانع از overload شدن یک سرور می گردد.
ضمن اینکه ارائه قابلیت هایی مانند SSL offloading، session management و application-layer security و بهبودِ کلی عملکرد و امنیت زیرساخت های شبکه به عهده load balancer می باشد.
هدف از قرار دادن این ویژگی در محصو لات F5، توزیع موثر و کارامد ترافیک ورودی شبکه از طریق سرورهای متعدد به منظور دستیابی به موارد ذیل می باشد:
لودبالانسرها را می توان به دو گروه اصلی Layer 4 و Layer 7 تقسیم نمود.
عملکرد لودبالانسرهای لایه 4 مربوط به لایه های transport و network بوده که پروتکل هایی مانند IP، TCP، FTP و UDP را برای routing مورد استفاده قرار می دهند. از سوی دیگر Layer 7 load balancerها در لایه ی application فعال بوده و توزیع ترافیک را با در نظر گرفتن اطلاعات پروتکل های همین لایه مانند HTTP انجام می دهند. به طور کلی باید گفت load balancer با تمایز بین این لایه ها، ترافیک را به طور کاملا موثر توزیع نموده و پرفورمنس شبکه را بهینه می سازد.
الگوریتم های Load Balancer
هر دو لایه ی 4 و 7، درخواست ها را دریافت نموده و از الگوریتم های کانفیگ شده برای توزیع ترافیک بین سرورهای مشخص شده استفاده می کنند. این الگوریتم ها هستند که سرور مناسبی را برای هر درخواست تعیین می کنند. در اینجا به برخی از متداول ترین الگوریتم های لودبالانسر اشاره خواهیم کرد:
درخواست ها را به طور مساوی در بین سرورهای موجود و به طور متوالی توزیع می کند.
درخواست ها را به سروری با کمترین کانکشن فعال ارسال می کند تا مطمئن شود توزیع بار به طور یکنواخت و بر اساس میزان بار سرور صورت می گیرد.
به هر سرور، میزان بار مشخصی اختصاص داده می شود و توزیع بار ترافیک بر اساس ظرفیت مشخص شده انجام می شود.
با این الگوریتم requestها به سرورهایی با کمترین تعداد active session هدایت می شوند.
لود بالانسر، زمان پاسخگویی هر سرور را ارزیابی نموده و درخواست ها را به سریع ترین سرورها ارسال می کند.
پس از ارزیابی سرورها، بر اساس فاکتورهایی مانند ظرفیت یا پرفورمنس، مناسب ترین routing را انجام می دهد.
درخواست ها بر اساس IP address هدایت شده و با هدف تداوم session، درخواست های یک IP، همیشه به همان سرور ارسال می گردد.