متعادلسازی بار (Load Balancer) از یک دستگاه فیزیکی یا مجازی (نرمافزاری) استفاده میکند تا در زمان واقعی مشخص کند کدام سرور در یک مخزن میتواند بهترین پاسخ را به درخواستهای کلاینتها ارائه دهد، در حالی که اطمینان حاصل میکند که ترافیک سنگین شبکه باعث نمیشود یک سرور از حرکت بازایستد.
متعادلسازی بار علاوه بر به حداکثر رساندن ظرفیت شبکه و اطمینان از عملکرد بالا، راهکار موثری برای غلبه بر خرابی است. به طوری که اگر یکی از سرورها از کار بیفتد، یک متعادل کننده بار فورا بارهای کاری خود را به یک سرور پشتیبان هدایت می کند، بنابراین تاثیر آن بر کاربران نهایی کاهش می یابد.
متعادلسازی بار معمولا به عنوان راهکار پشتیبان قابل اجرا در لایه 4 یا لایه 7 از مدل ارتباطی سیستمهای باز (OSI) قرار میگیرد. متعادل کننده بار لایه 4 ترافیک را بر اساس داده های لایه انتقال، مثل آدرس های IP و شماره پورت TCP توزیع می کند. دستگاه های متعادل کننده بار لایه 7 بر اساس ویژگی های سطح برنامه که شامل اطلاعات سرصفحه پروتکل انتقال ابرمتن (HTTP) و محتوای واقعی پیام، مانند آدرسهای اینترنتی و کوکیها است، تصمیمات مسیریابی را اتخاذ میکند. به طور معمول، رایج است که مکانیزم متعادل کننده بار در لایه 7 مورد استفاده قرار گیرد، اما متعادل کننده بار لایه 4 نیز محبوب است، به ویژه هنگامی که صحبت از استقرار لبه به میان میآید.
مکانیزم متعادلسازی بار چگونه کار میکند
متعادلکننده بار درخواستهای دریافتی کاربران برای اطلاعات و سایر خدمات مورد بررسی قرار میدهد. آنها بین سرورهای پاسخگو به درخواستها و اینترنت قرار میگیرند. هنگامی که یک درخواست دریافت شد، متعادلکننده بار ابتدا تعیین میکند که کدام سرور در یک مخزن در دسترس و آنلاین است و سپس درخواست را به آن سرور هدایت میکند. هنگامی که بارهای ترافیکی سنگین میشوند، یک متعادلکننده بار به سرعت عمل میکند و قادر است به شکل پویا سرورها را برای پاسخگویی به جهشهای ترافیک به شبکه اضافه کمک کند. علاوه بر این، متعادلکنندههای بار میتوانند سرورها را در صورت کم بودن تقاضا حذف کنند.
انواع متعادلکنندههای بار
متعادلسازی بار مولفه کلیدی زیرساختهای با دسترسپذیری بالا است. بسته به نیاز یک شبکه، انواع مختلفی از متعادل کنندههای بار را میتوان با قابلیتها، عملکردها و پیچیدگیهای مختلف فضای ذخیرهسازی استفاده کرد.
متعادل کننده بار میتواند یک ابزار فیزیکی، یک راهحل نرم افزاری یا ترکیبی از هر دو باشد. در زیر دو نوع متعادل کننده بار وجود دارد:
متعادل کننده بار سختافزاری:
- متعادلکننده بار سخت افزاری یک دستگاه سخت افزاری با نرمافزار داخلی اختصاصی است که برای مدیریت حجم عظیمی از ترافیک برنامه طراحی شده است. این بار متعادل کنندهها دارای قابلیت مجازی سازی داخلی هستند و امکان استفاده از چند نمونه از یک متعادل کننده بار مجازی را در یک دستگاه واحد فراهم میکنند.
- بهطور سنتی، فروشندگان نرمافزار اختصاصی را روی سختافزار اختصاصی بارگذاری میکنند و آنها را بهعنوان دستگاههای مستقل به کاربران میفروشند که معمولا به صورت جفت برای غلبه بر خرابی (Failover) در صورت از کار افتادن یک سیستم مورد استفاده قرار میگیرند. امروزه، شبکههای در حال رشد، سازمانها را ملزم به خرید تجهیزات اضافی یا بزرگتر میکنند.
متعادل کننده بار نرمافزاری:
- متعادلساز بار نرمافزاری روی ماشینهای مجازی (VM) یا سرورهای جعبه سفید (white box) اجرا میشود و در بیشتر موارد به عنوان یک کنترلکننده عملکرد تحویل برنامه (application delivery controller) مورد استفاده قرار میگیرند. کنترلرکننده تحویل برنامه ویژگیهای اضافی از جمله کش کردن، فشردهسازی و شکلدهی ترافیک را ارائه میدهند. متعادلسازی بار مجازی که در محیطهای ابری محبوب است، میتواند درجه بالایی از انعطافپذیری را ارائه دهد. به عنوان مثال، کاربران را قادر میسازد تا بهطور خودکار مقیاسپذیری موردنیاز خود را افزایش یا کاهش دهند تا بتوانند به افزایش ترافیک یا کاهش فعالیت در شبکه پاسخ دهند.
متعادلساز بار ابرمحور
شرکتها میتوانند از مکانیزم متعادلساز ابری به عنوان زیرساخت زیربنایی خود برای متعادل کردن محیطهای محاسباتی ابری استفاده کنند.
از مدلهای متعادلساز بار ابر به موارد زیر باید اشاره کرد:
- متعادلساز بار شبکه: سریعترین گزینه متعادلکننده بار موجود است که روی لایه 4 مدل OSI کار میکند و از اطلاعات لایه شبکه برای انتقال ترافیک شبکه استفاده میکند.
- متعادلکننده بار امن HTTP: به مدیران شبکه امکان میدهد تا ترافیک را بر اساس اطلاعاتی که از آدرس HTTP میآید توزیع کنند. رویکرد فوق بر مبنای قابلیتهای لایه 7 انجام میشود و یکی از انعطافپذیرترین گزینههای متعادلکننده بار است.
- متعادل کننده بار داخلی: شبیه به متعادلسازی بار شبکه است، اما میتواند توزیع ترافیک را در زیرساخت داخلی متعادل کند.
الگوریتمهای متعادل کننده بار
الگوریتمهای متعادل کننده بار تعیین میکنند که کدام سرورها درخواستهای ورودی کلاینتهای خاص را دریافت کنند. دو نوع اصلی از الگوریتمهای متعادل کننده بار وجود دارد که ایستا و پویا هستند.
1. الگوریتمهای متعادل کننده بار ایستا (Static load-balancing algorithms)
در رویکرد هشمحور آیپی، سرور مورد نظر درخواست کلاینت را بر مبنای معیارهای تعیینشده، مثل سرآیندهای HTTP یا اطلاعات آدرس آیپی، بررسی میکند. این روش از ماندگاری نشست یا ویژگی چسبندگی (stickiness) پشتیبانی میکند. به همین دلیل، گزینه خوبی در ارتباط با برنامههایی است که به اطلاعات وضعیت ذخیرهشده خاص کاربر متکی هستند که از نمونههای رایج در این زمینه باید به سبد خرید در تجارت الکترونیک اشاره کرد.
روش گردشی (round-robin) از میان تمام سرورهای موجود به ترتیب و به شکل متوالی عبور میکند و با استفاده از سیستم نام دامنه (DNS) ترافیک را میان لیستی از سرورها به صورت چرخشی توزیع میکند. یک سرور نام معتبر فهرستی از رکوردهای مختلف "A" را در اختیار دارد و یکی را در پاسخ به هر درخواست DNS انتخاب میکند.
رویکرد رفت و برگشت وزن شده (weighted round-robin) به مدیران امکان میدهد تا وزنهای مختلفی را به هر سرور اختصاص دهند. به این ترتیب، سرورهایی که میتوانند ترافیک بیشتری را مدیریت کنند، بر اساس وزن خود، کمی ترافیک بیشتری دریافت میکنند. وزندهی در رکوردهای DNS پیکربندی شده است.
2. الگوریتمهای پویای متعادلکننده بار
در رویکرد کمترین اتصال (least-connections)، سرورهایی با کمترین تراکنشهای مداوم بررسی شده و ترافیک برای سرورهایی که کمترین اتصالات باز را دارند، ارسال میشود. این الگوریتم فرض میکند که تمام اتصالات به قدرت پردازش تقریبا برابری نیاز دارند.
روش حداقل وزنی اتصال فرض میکند که برخی از سرورها میتوانند ترافیک بیشتری را در مقایسه با سایرین مدیریت کنند. بنابراین، ادمینها را قادر میسازد تا وزنهای مختلفی را به هر سرور اختصاص دهند.
رویکرد زمان پاسخدهی وزنی از میانگین زمان پاسخ هر سرور استفاده میکند و آنها را با تعداد اتصالاتی که هر سرور باز میکند ترکیب میکند تا بهترین مقصد برای ارسال ترافیک را پیدا کند. این الگوریتم، خدمات سریعتر را تضمین میکند، زیرا ترافیک را بر مبنای سریعترین زمانی که سرور پاسخ میدهد برای آن ارسال میکند.
الگوریتم مبتنی بر منبع (resource-based) بار را بر اساس در دسترس بودن منابع در هر سرور در آن لحظه توزیع میکند. برای بهرهمندی از روش فوق، قبل از توزیع ترافیک باید یک نرمافزار اختصاصی که عامل نام دارد روی هر سرور اجرا شود تا در دسترس بودن واحد پردازش مرکزی و حافظه را اندازهگیری کند.
مزایای متعادلسازی بار
سازمانهایی که چندین سرور را مدیریت میکنند، میتوانند از متعادل کردن بار ترافیک شبکهشان سود زیادی ببرند. مزایای اصلی استفاده از متعادلکننده بار به شرح زیر است:
- مقیاسپذیری بهبود یافته: متعادلکنندههای بار میتوانند زیرساخت سرور را بر مبنای تقاضا، بسته به نیاز شبکه، بدون تاثیر بر خدمات، مقیاسبندی کنند. به عنوان مثال، اگر یک وب سایت شروع به جذب تعداد زیادی بازدیدکننده کند، افزایش ناگهانی ترافیک را تجربه میکند. اگر وب سرور نتواند این حجم ناگهانی از ترافیک را مدیریت کند، ممکن است وب سایت از کار بیفتد. متعادلکننده بار میتواند ترافیک اضافی را در چند سرور پخش کند تا مانع بروز این مشکل شود.
- بهرهوری بهبود یافته: با توجه به کاهش بار ترافیک روی هر سرور، ترافیک شبکه بهتر جریان پیدا میکند و زمان پاسخگویی بهبود مییابد. رویکرد فوق در نهایت تجربه بهتری را برای بازدیدکنندگان سایت فراهم میکند.
- کاهش زمان توقف: شرکتهایی که فعالیت آنها در مقیاس جهانی است و سرورهای آنهای در مکانهای متعدد و مناطق زمانی مختلف قرار گرفتهاند، قادر هستند از مکانیزم متعادلسازی بار بهره ببرند، به ویژه وقتی صحبت از تعمیر و نگهداری سرور به میان میآید. به عنوان مثال، یک شرکت میتواند سروری را که نیاز به تعمیر و نگهداری دارد، خاموش کند و ترافیک را به دیگر متعادلکنندههای بار موجود بدون ایجاد وقفه در سرویس هدایت کند.
- تحلیل پیشگویانه: متعادلسازی بار میتواند تشخیص زودهنگام خرابیها را فراهم کند و به مدیریت آنها بدون تاثیرگذاری مخرب بر منابع دیگر کمک کند. به عنوان مثال، متعادلکنندههای بار مبتنی بر نرمافزار میتوانند گلوگاههای ترافیکی را قبل از وقوع پیشبینی کنند.
- مدیریت کارآمد شکست: در صورت خرابی، بار متعادل کنندهها میتوانند به طور خودکار ترافیک را به منابع کاربردی و گزینههای پشتیبان هدایت کنند. به عنوان مثال، اگر در یک منبع شبکه، مانند یک سرور ایمیل، خرابی شناسایی شود، متعادل کنندههای بار میتوانند از منابع سالم برای پاسخگویی به درخواستها تا زمانی که منابع ترمیم شوند، انتقال دهند.
- امنیت بهبود یافته: متعادلکننده بار یک لایه امنیتی اضافی را بدون نیاز به تغییرات یا منابع اضافی به شبکه میافزاید. همانطور که محاسبات بیشتر به سمت ابر حرکت میکنند، متعادل کنندههای بار با ویژگیهای امنیتی قدرتمند به محافظت از این شبکهها میپردازند. در این حالت، شبکه سازمانی قدرت بیشتری در مقابله با حملات انکار سرویس توزیع شده پیدا میکند.
متعادلکننده بار سختافزاری در مقابل نرمافزاری
متعادل کنندههای بار سختافزاری و نرمافزاری موارد استفاده خاصی دارند. متعادلکنندههای بار سختافزاری به تجهیزات rack-and-stack نیاز دارند، در حالی که متعادلکنندههای بار نرمافزار روی سرورهای استاندارد x86، ماشینهای مجازی یا نمونههای ابری نصب میشوند. متعادل کنندههای بار سختافزاری برای مدیریت بارهای ترافیکی تصاعدی مورد استفاده قرار میگیرند، در شرایطی که راهحلهای نرمافزاری بر مبنای محاسبه پهنای باند مورد استفاده قرار میگیرند.
مزایا و معایب مکانیزمهای متعادلکننده بار سختافزاری و نرمافزاری به شرح زیر است:
مزایا
- آنها توان عملیاتی سریعی را ارائه میدهند، زیرا نرمافزار بر روی پردازندههای تخصصی اجرا میشود.
- این متعادل کنندههای بار امنیت بهتری ارائه میدهند، زیرا فقط توسط سازمان و نه شخص ثالث اداره میشوند.
- هزینه ثابتی دارند.
معایب
- متعادلکنندههای بار سختافزاری برای پیکربندی و برنامهریزی به کارکنان و تخصص بیشتری نیاز دارند.
- وقتی چند اتصال به محدودیت تعیین شده رسیدند، مقیاسپذیری وجود ندارد. هنگامی که این اتفاق میافتد، اتصالات یا رد میشوند، قطع میشوند یا تخریب میشوند. در این حالت، تنها گزینه خرید و نصب ماشینهای اضافی است.
- آنها گرانتر هستند، زیرا هزینه خرید و نگهداری آنها بیشتر است. داشتن یک متعادلکننده بار سختافزاری ممکن است نیاز به استخدام مشاورانی برای مدیریت آن داشته باشد.
متعادل کننده بار نرمافزاری
مزایا
- آنها انعطافپذیری را برای تطبیق با نیازها و الزامات در حال تغییر یک شبکه ارائه میدهند.
- با افزودن نمونههای نرمافزاری بیشتر، آنها میتوانند فراتر از ظرفیت اولیه مقیاسبندی شوند.
- آنها توازن بار مبتنی بر ابر ارائه میدهند که گزینههای خارج از سایت هستند و میتوانند روی یک شبکه ارتجاعی از سرورها کار کند. رایانش ابری گزینههای مختلفی مثل استفاده ترکیبی با منابع محلی را ارائه میدهد. به عنوان مثال، یک شرکت میتواند متعادلکننده بار اصلی را در محل داشته باشد و متعادلکننده بار پشتیبان در فضای ابری باشد.
معایب
- وقتی مقیاسگذاری فراتر از ظرفیت انجام میشود، متعادلکنندههای بار نرمافزاری ممکن است تاخیری به وجود آورند. این حالت، معمولا زمانی اتفاق میافتد که نرمافزار متعادلکننده در حال پیکربندی است.
- از آنجایی که آنها با هزینه اولیه ثابت همراه نیستند، متعادل کننده بار نرمافزاری میتواند در هنگام اتقا هزینهها را افزایش دهد.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟