لود بالانسینگ با الگوریتم های nignx چگونه کار میکنند؟+وظیفه لود بالانسر در سروراختصاصی
کاربرد لود بالانسینگ و الگوریتم های nignx
لود بالانسینگ (Load balancing) به معنی پخش و تقسیم نمودن ترافیک ورودی سایت بین دو یا چند سرور میباشد که وظیفه میزبانی وب سایت را بر عهده دارند. و به مجموعه این سرورها به اصطلاح مزرعه سرور (Server Farm) یا استخر سرور (Server Pool) نیز میگویند.
سایت های مدرن و پرطرفدار روزانه میزبان هزاران کاربر از سرتاسر دنیا می باشند. و این وبسایت ها می بایست دیتای (تصاویر, متن, ویدئو و …) مورد نظر همه این کاربران را بدون اشتباه و در سریعترین زمان ممکن به دستشان برسانند. برای اینکه این کار با کمترین هزینه انجام گیرد، معمولا نیاز است که از سرورهای بیشتری استفاده شود.
لود بالانسر (Load balancer):
یک لود بالانسر یا به معنی فارسی آن یک متعادل کننده بار, مانند یک پلیس راهنمایی و رانندگی عمل میکند و ترافیک ورودی به سایت را هدایت میکند. به این صورت که لود بالانسر جلوی سرور های اختصاصی شما قرار میگیرد و درخواست های کاربران ورودی برای استفاده از سایت را به صورت متعادل بین سرورها ارسال می نماید. و همچنین تضمین میکند به هیچ سروری فشار بیش از حد وارد نشود و درخواست کاربر نیز با بالاترین سرعت انجام گیرد. اگر یک سرور از کار بیفتد، لود بالانسر متوجه این موضوع می شود و درخواست های کاربران را فقط به سایر سرورهای سالم و آنلاین ارسال میکند. در این میان اگر یک سرور دیگر به server pool اضافه شود، به صورت خودکار درخواست های کاربران به سرور جدید نیز ارسال میگردد.
ویژگی های لود بالانسر:
−درخواست های کاربران را به طور متعادل و موثر بین چند سرور توزیع میکند.
−با ارسال درخواست فقط به سرورهایی که آنلاین هستند، در دسترس بودن و قابلیت اطمینان بالا را تضمین می کند.
−برای حذف و اضافه نمودن سرورها انعطاف پذیری بالایی دارد.
الگوریتم های لود بالانسینگ در nignx
نرم افزارهای لود بالانسینگ (Load balancing) مانند nginx الگوریتم های متنوعی برای توزیع بار بین سرورها دارند. هرکدام از این الگوریتم ها مزایا و معایبی دارد که در ادامه آن ها را با هم بررسی میکنیم:
الگوریتم Round Robin:
در Round Robin درخواست ها به صورت متوالی در بین گروهی از سرورها توزیع می شوند.
الگوریتم Least Connections:
در این الگوریتم درخواست جدید به سروری ارسال میشود که کمترین اتصال را داشته باشد.
الگوریتم Least Time:
در Least Time درخواست ها به سروری ارسال میشود که سریعترین پاسخگویی و سپس کمترین اتصال را دارد.
الگوریتم HASH:
این الگوریتم درخواست ها را بر اساس کلیدی که شما تعریف می کنید ارسال میکند. مثلا درخواست های مربوط به یک URL خاص فقط به سرور B ارسال میگردد.
الگوریتم IP Hash:
در IP Hash میتوانید تعیین نمایید که کدام آی پی به کدام سرور درخواست ارسال کند.
الگوریتم Random with Two Choices:
دو سرور را به صورت تصادفی انتخاب می کند و درخواست را به یکی از دو سرور ارسال می کند.
سروری که از بین این دو انتخاب میشود، بر اساس الگوی Least Connections میباشد.
مزایای لود بالانیسنگ:
−کاهش Down Time سرویس ها
−مقیاس پذیری
−افزایش تحمل خطا هنگام خرابی
−انعطاف پذیری در تعمیر و نگهداری
−افزایش بهره وری وب سایت و وب سرویس ها
اگر شما هم یک سایت پرمخاطب و شلوغ دارید که کوچکترین قطعی و تاخیر برایتان ضررهای میلیاردی به بار می آورد، توصیه ما به شما این است که حتما از سیستم لودبالانسینگ برای سرورهای اختصاصی سایت خود استفاده کنید. و سپس با اطمینان و خیال راحت به کسب درآمد در دنیای آنلاین بپردازید.