متوازن سازی بار (Load Balancing) چیست؟

متوازن سازی بار (Load Balancing) چیست؟

متوازن سازی بار چیست؟

متوازن سازی بار روشی برای توزیع یکنواخت ترافیک شبکه در میان مجموعه ای از منابعی است که از یک برنامه کاربردی پشتیبانی می کنند. برنامه های کاربردی مدرن باید همزمان میلیون ها کاربر را پردازش کنند و متن، فیلم، تصاویر و سایر داده های صحیح را به صورت سریع و قابل اعتماد به هر کاربر بازگردانند. برای رسیدگی به چنین حجم بالایی از ترافیک، اکثر برنامه ها دارای چندین سرور منابع با داده های تکراری بین آنها هستند. یک متوازن کننده بار دستگاهی است که بین کاربر و گروه سرور قرار می گیرد و به عنوان یک تسهیل کننده نامرئی عمل می کند و اطمینان می دهد که از همه سرورهای منابع به طور مساوی استفاده می شود.

مزایای متوازن سازی بار چیست؟

متوازن سازی بار ترافیک اینترنت را بین سرورهای برنامه و بازدیدکنندگان یا مشتریان آنها هدایت و کنترل می کند. در نتیجه، در دسترس بودن، قابلیت ارتقاء، امنیت و عملکرد برنامه را بهبود می بخشد.

در دسترس بودن برنامه

خرابی سرور یا تعمیر و نگهداری می تواند باعث افزایش خرابی برنامه شود و برنامه شما را برای بازدیدکنندگان در دسترس نباشد. متوازن کننده های بار با شناسایی خودکار مشکلات سرور و هدایت مجدد ترافیک مشتری به سرورهای موجود، تحمل خطای سیستم های شما را افزایش می دهند. می توانید از متوازن سازی بار برای آسان تر کردن این کارها استفاده کنید:

انجام تعمیر و نگهداری یا ارتقاء سرور برنامه بدون خرابی برنامه ارائه بازیابی خودکار از بلایا به سایت های پشتیبان انجام بررسی های سلامت و جلوگیری از مشکلاتی که می تواند باعث خرابی شود

قابلیت ارتقاء برنامه

می توانید از متوازن کننده های بار برای هدایت هوشمندانه ترافیک شبکه بین چندین سرور استفاده کنید. برنامه های کاربردی شما می توانند هزاران درخواست مشتری را مدیریت کنند زیرا متوازن سازی بار موارد زیر را انجام می دهد:

جلوگیری از گلوگاه های ترافیک در هر سرور پیش بینی ترافیک برنامه به گونه ای که در صورت نیاز سرورهای مختلف را اضافه یا حذف کنید اضافه کردن افزونگی به سیستم خود به گونه ای که بتوانید با اطمینان مقیاس بندی کنید

امنیت برنامه

متوازن کننده های بار با ویژگی های امنیتی داخلی ارائه می شوند تا لایه دیگری از امنیت را به برنامه های اینترنتی شما اضافه کنند. آنها ابزار مفیدی برای مقابله با حملات منع سرویس توزیع شده هستند که در آن مهاجمان سرور برنامه را با میلیون ها درخواست همزمان flooded می کنند که باعث خرابی سرور می شود. متوازن کننده های بار همچنین می توانند موارد زیر را انجام دهند:

نظارت بر ترافیک و مسدود کردن محتوای مخرب هدایت خودکار ترافیک حمله به چندین سرور بک اند برای به حداقل رساندن تأثیر هدایت ترافیک از طریق گروهی از فایروال های شبکه برای امنیت بیشتر

عملکرد برنامه

متوازن کننده های بار با افزایش زمان پاسخگویی و کاهش تأخیر شبکه، عملکرد برنامه را بهبود می بخشد. آنها چندین وظیفه مهم را انجام می دهند مانند:

توزیع بار به طور مساوی بین سرورها برای بهبود عملکرد برنامه هدایت درخواست های مشتری به سرور جغرافیایی نزدیکتر برای کاهش تأخیر اطمینان از قابلیت اطمینان و عملکرد منابع محاسباتی فیزیکی و مجازی

الگوریتم های متوازن سازی بار چیست؟

الگوریتم متوازن سازی بار مجموعه قوانینی است که یک متوازن کننده بار برای تعیین بهترین سرور برای هر یک از درخواست های مختلف مشتری دنبال می کند. الگوریتم های متوازن سازی بار به دو دسته اصلی تقسیم می شوند.

متوازن سازی بار ایستا

الگوریتم های متوازن سازی بار ایستا از قوانین ثابت پیروی می کنند و مستقل از وضعیت فعلی سرور هستند. در زیر نمونه هایی از متوازن سازی بار ایستا آورده شده است.

روش گردشی سرورها دارای آدرس های IP هستند که به مشتری می گویند درخواست ها را به کجا ارسال کند. آدرس IP یک عدد طولانی است که به خاطر سپردن آن دشوار است. برای آسان کردن آن، یک سیستم نام دامنه (DNS) نام وب سایت ها را به سرورها نگاشت می کند. هنگامی که aws.amazon.com را در مرورگر خود وارد می کنید، درخواست ابتدا به سرور نام ما می رود که آدرس IP ما را به مرورگر شما باز می گرداند. در روش گردشی، یک سرور نام

معتبر به جای سخت افزار یا نرم افزار تخصصی، متوازن سازی بار را انجام می دهد. سرور نام، آدرس های IP سرورهای مختلف را به نوبت یا به صورت گردشی برمی گرداند.

روش گردشی وزنی

در متوازن سازی بار گردشی وزنی، می توانید وزن های مختلفی را بر اساس اولویت یا ظرفیت آنها به هر سرور اختصاص دهید. سرورهایی با وزن بالاتر، ترافیک ورودی برنامه بیشتری را از سرور نام دریافت خواهند کرد.

روش هش IP

در روش هش IP، متوازن کننده بار یک محاسبه ریاضی به نام هشینگ را روی آدرس IP مشتری انجام می دهد. آدرس IP مشتری را به یک عدد تبدیل می کند که سپس به سرورهای جداگانه نگاشت می شود.

متوازن سازی بار پویا

الگوریتم های متوازن سازی بار پویا قبل از توزیع ترافیک، وضعیت فعلی سرورها را بررسی می کنند. در زیر نمونه هایی از الگوریتم های متوازن سازی بار پویا آورده شده است.

روش کمترین اتصال

اتصال یک کانال ارتباطی باز بین یک مشتری و یک سرور است. هنگامی که مشتری اولین درخواست را به سرور ارسال می کند، آنها احراز هویت می کنند و یک اتصال فعال بین یکدیگر برقرار می کنند. در روش کمترین اتصال، متوازن کننده بار بررسی می کند که کدام سرورها کمترین اتصالات فعال را دارند و ترافیک را به آن سرورها ارسال می کند. این روش فرض می کند که همه اتصالات به قدرت پردازش مساوی برای همه سرورها نیاز دارند.

روش کمترین اتصال وزنی

الگوریتم های کمترین اتصال وزنی فرض می کنند که برخی از سرورها می توانند اتصالات فعال بیشتری را نسبت به سایرین مدیریت کنند. بنابراین، می توانید وزن ها یا ظرفیت های مختلفی را به هر سرور اختصاص دهید و متوازن کننده بار درخواست های جدید مشتری را به سروری با کمترین اتصالات بر اساس ظرفیت ارسال می کند.

روش کمترین زمان پاسخ

زمان پاسخ، کل زمانی است که سرور برای پردازش درخواست های ورودی و ارسال پاسخ صرف می کند. روش کمترین زمان پاسخ، زمان پاسخ سرور و اتصالات فعال را برای تعیین بهترین سرور ترکیب می کند. متوازن کننده های بار از این الگوریتم برای اطمینان از خدمات سریعتر برای همه کاربران استفاده می کنند.

روش مبتنی بر منبع

در روش مبتنی بر منبع، متوازن کننده های بار با تجزیه و تحلیل بار فعلی سرور، ترافیک را توزیع می کنند. نرم افزار تخصصی به نام عامل روی هر سرور اجرا می شود و میزان استفاده از منابع سرور مانند ظرفیت محاسباتی و حافظه آن را محاسبه می کند. سپس، متوازن کننده بار قبل از توزیع ترافیک به آن سرور، عامل را برای منابع آزاد کافی بررسی می کند.

متوازن سازی بار چگونه کار می کند؟

شرکت ها معمولاً برنامه خود را روی چندین سرور اجرا می کنند. چنین آرایش سروری مزرعه سرور نامیده می شود. درخواست های کاربر به برنامه ابتدا به متوازن کننده بار می رود. سپس متوازن کننده بار هر درخواست را به یک سرور واحد در مزرعه سرور که برای رسیدگی به درخواست مناسب تر است، هدایت می کند.متوازن سازی بار مانند کاری است که یک مدیر در یک رستوران انجام می دهد. رستورانی را با پنج پیشخدمت در نظر بگیرید. اگر به مشتریان اجازه داده شود پیشخدمت های خود را انتخاب کنند، ممکن است یک یا دو پیشخدمت با کار بیش از حد مواجه شوند در حالی که بقیه بیکار هستند. برای جلوگیری از این سناریو، مدیر رستوران مشتریان را به پیشخدمت های خاصی که برای خدمت به آنها مناسب تر هستند، اختصاص می دهد.

متوازن سازی بار (Load Balancing) چیست؟

انواع متوازن سازی بار چیست؟

می توانیم متوازن سازی بار را بر اساس آنچه متوازن کننده بار در درخواست مشتری برای هدایت مجدد ترافیک بررسی می کند، به سه دسته اصلی طبقه بندی کنیم.

متوازن سازی بار برنامه

برنامه های کاربردی پیچیده مدرن دارای چندین مزرعه سرور با چندین سرور اختصاص داده شده به یک عملکرد برنامه واحد هستند. متوازن کننده های بار برنامه به محتوای درخواست مانند هدرهای HTTP یا شناسه های جلسه SSL نگاه می کنند تا ترافیک را هدایت کنند.به عنوان مثال، یک برنامه تجارت الکترونیک دارای یک فهرست محصول، سبد خرید و عملکردهای پرداخت است. متوازن کننده بار برنامه، درخواست های مرور محصولات را به سرورهایی ارسال می کند که حاوی تصاویر و فیلم ها هستند اما نیازی به حفظ اتصالات باز ندارند. در مقایسه، درخواست های سبد خرید را به سرورهایی ارسال می کند که می توانند اتصالات مشتری زیادی را حفظ کنند و داده های سبد را برای مدت طولانی ذخیره کنند.

متوازن سازی بار شبکه

متوازن کننده های بار شبکه آدرس های IP و سایر اطلاعات شبکه را برای هدایت بهینه ترافیک بررسی می کنند. آنها منبع ترافیک برنامه را ردیابی می کنند و می توانند یک آدرس IP ثابت را به چندین سرور اختصاص دهند. متوازن کننده های بار شبکه از الگوریتم های متوازن سازی بار ایستا و پویا که قبلاً توضیح داده شد برای متعادل کردن بار سرور استفاده می کنند.

متوازن سازی بار سرور جهانی

متوازن سازی بار سرور جهانی در چندین سرور توزیع شده جغرافیایی رخ می دهد. به عنوان مثال، شرکت ها می توانند سرورهایی در چندین مرکز داده، در کشورهای مختلف و در ارائه دهندگان ابری شخص ثالث در سراسر جهان داشته باشند. در این حالت، متوازن کننده های بار محلی، بار برنامه را در یک منطقه یا ناحیه مدیریت می کنند. آنها سعی می کنند ترافیک را به یک مقصد سرور که از نظر جغرافیایی به مشتری نزدیکتر است، هدایت کنند. آنها ممکن است ترافیک را فقط در صورت خرابی سرور به سرورهای خارج از منطقه جغرافیایی مشتری هدایت کنند.

متوازن سازی بار DNS

در متوازن سازی بار DNS، دامنه خود را برای مسیریابی درخواست های شبکه در میان مجموعه ای از منابع در دامنه خود پیکربندی می کنید. یک دامنه می تواند مربوط به یک وب سایت، یک سیستم ایمیل، یک سرور چاپ یا سرویس دیگری باشد که از طریق اینترنت قابل دسترسی است. متوازن سازی بار DNS برای حفظ در دسترس بودن برنامه و متعادل کردن ترافیک شبکه در میان مجموعه ای از منابع توزیع شده جهانی مفید است.

انواع فناوری متوازن سازی بار چیست؟

متوازن کننده های بار یکی از دو نوع هستند: متوازن کننده بار سخت افزاری و متوازن کننده بار نرم افزاری.

متوازن کننده های بار سخت افزاری

یک متوازن کننده بار مبتنی بر سخت افزار یک دستگاه سخت افزاری است که می تواند به طور ایمن گیگابایت ترافیک را به صدها سرور مختلف پردازش و هدایت کند. می توانید آن را در مراکز داده خود ذخیره کنید و از مجازی سازی برای ایجاد چندین متوازن کننده بار دیجیتال یا مجازی که می توانید به صورت متمرکز مدیریت کنید، استفاده کنید.

متوازن کننده های بار نرم افزاری

متوازن کننده های بار مبتنی بر نرم افزار برنامه هایی هستند که تمام عملکردهای متوازن سازی بار را انجام می دهند. می توانید آنها را روی هر سروری نصب کنید یا به عنوان یک سرویس شخص ثالث کاملاً مدیریت شده به آنها دسترسی داشته باشید.

مقایسه متوازن کننده های سخت افزاری با متوازن کننده های نرم افزاری

متوازن کننده های بار سخت افزاری نیاز به سرمایه گذاری اولیه، پیکربندی و نگهداری مداوم دارند. همچنین ممکن است از آنها به ظرفیت کامل استفاده نکنید، به خصوص اگر فقط برای مدیریت افزایش ترافیک در ساعات اوج مصرف، یکی را خریداری کنید. اگر حجم ترافیک به طور ناگهانی فراتر از ظرفیت فعلی آن افزایش یابد، این امر تا زمانی که بتوانید یک متوازن کننده بار دیگر را خریداری و راه اندازی کنید، روی کاربران تأثیر می گذارد.در مقابل، متوازن کننده های بار مبتنی بر نرم افزار بسیار انعطاف پذیرتر هستند. آنها می توانند به راحتی افزایش یا کاهش مقیاس داشته باشند و با محیط های محاسبات ابری مدرن سازگارتر هستند. همچنین راه اندازی، مدیریت و استفاده از آنها در طول زمان هزینه کمتری دارد.

 

زیرساخت به عنوان کد (Infrastructure as Code) چیست؟
نرم‌افزار به عنوان سرویس (SaaS) چیست؟

دیدگاهتان را بنویسید

سبد خرید
علاقه‌مندی‌ها
مشاهدات اخیر
دسته بندی ها