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 با تمایز بین این لایه ها، ترافیک را به طور کاملا موثر توزیع نموده و پرفورمنس شبکه را بهینه می سازد.
هر دو لایه ی 4 و 7، درخواست ها را دریافت نموده و از الگوریتم های کانفیگ شده برای توزیع ترافیک بین سرورهای مشخص شده استفاده می کنند. این الگوریتم ها هستند که سرور مناسبی را برای هر درخواست تعیین می کنند. در اینجا به برخی از متداول ترین الگوریتم های لودبالانسر اشاره خواهیم کرد:
درخواست ها را به طور مساوی در بین سرورهای موجود و به طور متوالی توزیع می کند.
درخواست ها را به سروری با کمترین کانکشن فعال ارسال می کند تا مطمئن شود توزیع بار به طور یکنواخت و بر اساس میزان بار سرور صورت می گیرد.
به هر سرور، میزان بار مشخصی اختصاص داده می شود و توزیع بار ترافیک بر اساس ظرفیت مشخص شده انجام می شود.
با این الگوریتم requestها به سرورهایی با کمترین تعداد active session هدایت می شوند.
لود بالانسر، زمان پاسخگویی هر سرور را ارزیابی نموده و درخواست ها را به سریع ترین سرورها ارسال می کند.
پس از ارزیابی سرورها، بر اساس فاکتورهایی مانند ظرفیت یا پرفورمنس، مناسب ترین routing را انجام می دهد.
درخواست ها بر اساس IP address هدایت شده و با هدف تداوم session، درخواست های یک IP، همیشه به همان سرور ارسال می گردد.
لود بالانسر را می توان یکی از اصلی ترین ارکان high availability و هدایت هوشمندانه ترافیک به مناسب ترین سرورها دانست. به این ترتیب پرفورمنس و ظرفیت مورد استفاده به بهترین سطح ممکن می رسد در حالی که درخواست ها تنها به سرورهای آنلاین ارسال می گردند.
High Availability (HA) این اطمینان خاطر را ایجاد می کند که در صورت خرابیِ لودبالانسر اصلی، server pool آماده پاسخگویی به درخواست های کاربران می باشد. بنابراین می توان ترافیک را بدون اینکه کاربران متوجه شوند، به لودبالانسر ثانویه یا بکاپ، هدایت نمود.