1397-02-03
مطالب آموزشی
بازدید : 1323
مفهوم Load Balancing در شبکه های کامپیوتری
مفهوم Load Balancing در شبکه های کامپیوتری
Load balancing به این معنا است که ترافیک ورودی شبکه به صورت بهینه میان دسته از Backend Server تقسیم شود. به این دسته ها Server Farm و یا Server Pool گفته میشود.وب سایتهایی که کاربران زیادی دارند با حجم عظیمی از درخواست ها مواجه هستند که باید به ازای هر درخواست٬ پاسخ متناسبی را ارسال کنند. برای پاسخگویی به درخواست ها در تعداد بالا٬ باید چندین Server به پروژه اضافه شوند.
یک Load balancer مانند یک پلیس است که در ابتدای مسیر ورودی به Server ها قرار میگیرد و مشخص میکنند که هر ترافیک به کدام Server هدایت شود. به این ترتیب حجم بالایی از درخواست ها تنها به یک Server ارسال نمیشود و کارایی سیستم را پایین نمیآورد. این امر باعث میشود تا سرعت پاسخگویی و بهره وری از سیستم افزایش یابد. همچنین اگر یک Server دچار مشکل شود و امکان پاسخگویی نداشته باشد٬Load Balancer ترافیک ها را به Server های دیگر هدایت میکند. در مقابل اگر یک Server جدید اضافه شود٬ Load Balancer به صورت خودکار درخواست ها را به آن نیز ارسال میکند.
پس میتوان کاربرد Load balancer را به این صورت خلاصه کرد:
- درخواست های ارسال از Client ها را به صورت بهینه میان Server ها تقسیم میکند
- درخواست ها را فقط به Server هایی که قادر به پاسخگویی هستند(Online Server) ارسال میکند
- امکان اضافه کردن و کم کردن Server ها را فراهم میکند
الگوریتم های Load Balancing
سه الگوریتم زیر در Load balancing استفاده میشود:
- Round Robin: درخواست ها را به ترتیب میان Server ها تقسیم میشوند
- Latest Connection : درخواست جدید به سروری که تعداد اتصالات آن کمتر است ارسال میشود
- IP Hash: در این الگوریتم IP که به Client اختصاص داده شده است٬ Server را تعیین میکند
مقایسه Load Balancing نرم افزاری و سخت افزاری
Load Balancing به دو صورت سخت افزاری و نرم افزاری قابل انجام است. در روش سخت افزاری٬ دستگاههایی در مقابل Server ها قرار میگیرد به این ترتیب ترافیک ها را میان Server ها تقسیم میکند. نرمافزار هایی مختص به این کار و متناسب با ساختار آن بر روی دستگاهها نصب میشوند.
در مقابل نرم افزار های Load Balancing بر روی تمام سیستم ها قابل اجرا است. به این ترتیب هزینه استفاده از آن کمتر و نسبت به گسترش پروژه منعطف تر است.
اعتبار Session
جابجایی میان Server ها ممکن است باعث مشکل در یکسری از تبادلات شود. برای مثال تراکنش مالی یک نمونه از چنین ارتباطاتی است که جابجایی میان Server ها باعث بروز مشکل در روال آن میشود. به همین علت تمام تبادلات, به ازای هر Session, باید با یک Server انجام شود. به این معنا که تا وقتی یک Session معتبر است, درخواست های این Client به Server دیگری ارسال نشود. به چنین عملی Session Persistance گفته میشود.
گاهی یک Server از Caching استفاده میکند تا بتواند با سرعت بالاتری به درخواست های یک Client پاسخ دهد. جابجایی میان Server ها باعث میشود تا یکسری از اطلاعات مجددا دریافت و یا پردازش شوند که به نوعی میتوان آن را یک ضعف تلقی کرد. Session Persistance از بروز چنین مشکلی نیز جلوگیری میکند. بنابراین یک Load Balancer با خاصیت Session Persistance میتواند کارایی یک سیستم را به صورت چشم گیری افزایش دهد.
خدمات شبکه , نصب و راه اندازی شبکه , سرور , پشتیبانی شبکه , راه اندازی شبکه , اجرای شبکه , فروش تجهیزات شبکه , قرارداد پشتیبانی شبکه , راه اندازی اتاق سرور , راه اندازی سرور روم , اجرای زیرساخت شبکه ,