لودبالانسرها چگونه کار میکنند
رپورتاژ آگهی
در هر دقیقه از روز، وبساتها با صدها درخواست کاربر یا مشتری روبرو میشوند. پاسخگویی به این حجم بالا از درخواستها برای یک سرور بهتنهایی بسیار دشوار است. بنابراین، باید راهکاری برای توزیع این درخواستها در میان سرورها وجود داشته باشد تا پاسخ به درخواستها برای راضی نگهداشتن کاربران، بهبود یابد. در این مطلب قصد داریم شما را با نحوه کار لودبالانسرها و الگوریتمهای لودبالانسرها آشنا کنیم؛ در ابتدا برای درک بهتر موضوع به شرح مفهوم لودبالانسینگ و مزایای آن خواهیم پرداخت.
لودبالانسینگ چیست و چه کاربردی دارد؟ در حالت کلی، به توزیع بارهای کاری پردازشی بین دو یا چند سرور برای جلوگیری از خرابی یک سرور و افزایش بهرهوری و سرعت در پردازش درخواستهای کاربران، لودبالانسینگ میگویند. لودبالانسرها، فشاری که بر روی یک سرور واحد است را کاهش میدهند و باعث میشوند سرورها کارآمدتر عمل کنند. این کار برای اکثر برنامه و یا سایتهای اینترنتی برای عملکرد صحیح ضروری است.
برای درک بهتر موضوع بهتر است به این مثال توجه کنید. تصور کنید در یک فروشگاه مواد غذایی که دارای 8 صندوق است، تنها یکی از صندوقها باز است. بدیهی است که تمام مشتریان سراغ آن صندوق میروند و بنابراین زمان زیادی طول میکشد تا یک مشتری پرداخت هزینه مواد غذایی خود را بهاتمام برساند. حال تصور کنید که فروشگاه تمام ۸ صندوق را باز کند. در این حالت، زمان انتظار برای مشتریان حدود 8 برابر کوتاهتر است. لودبالانسینگ نیز اساساً همین کار را انجام میدهد. درخواستهای کاربر را بین چندین سرور، تقسیم میکند و زمان انتظار کاربر بهشدت کاهش مییابد. این باعث میشود درخواستهای کاربر با سرعت بیشتری پاسخ داده شوند و در نتیجه تجربه کاربری بهتری خواهد داشت. البته لودبالانسینگ مزایای زیادی دارد و محدود به این موارد نیست.
لودبالانسینگ اغلب با برنامههای کاربردی وب استفاده میشود. الگوریتم های لود بالانسینگ در لود بالانسرها مبتنی بر نرمافزار و مبتنی بر ابر به توزیع یکنواخت ترافیک اینترنت بین سرورهای میزبان برنامه کمک میکند. برخی از لودبالانسرهای ابری میتوانند بارهای ترافیک اینترنت را در سرورهایی که در سراسر جهان قرار دارند متعادل کنند؛ فرآیندی که بهعنوان متعادلسازی بار سرور جهانی (GSLB) شناخته میشود. لودبالانسرهای سختافزاری نیز معمولاً در شبکههای محلی بزرگ مانند شبکههای موجود در مراکز داده یا مجتمعهای اداری بزرگ استفاده میشوند. البته بسته به نیاز برای این منظور از لودبالانسرهای مبتنی بر نرم افزار نیز استفاده میشود.
یک روتر لودبالانسر، سرعت پهنای باند شبکه، عملکرد کلی و افزونگی اینترنت را از طریق چندین تکنیک، مانند تجمیع پهنای باند، بهبود میبخشد که برای اتصال ظرفیت پهنای باند DSL، کابل، T1 یا هر اتصال اینترنتی دیگری استفاده میشود.
لودبالانسرها چگونه کار میکنند؟
لودبالانسینگ توسط ابزار یا برنامهای بهنام لودبالانسرانجام میشود. لودبالانسر میتواند مبتنی بر سختافزار یا نرمافزار باشد. لودبالانسر سختافزاری نیاز به نصب یک دستگاه اختصاصی دارد؛ در صورتیکه لودبالانسر مبتنی بر نرمافزار میتواند روی سرور، ماشین مجازی یا در فضای ابری اجرا شود. شبکههای تحویل محتوا (CDN) اغلب شامل ویژگیهای لودبالانسر هستند.
هنگامی که درخواستی از یک کاربر دریافت میشود، لودبالانسر بر اساس تکنیکها و الگوریتمهای خاصی درخواست را به سمت یک سرور هدایت میکند و این فرآیند برای هر درخواست تکرار میشود. در واقع این لودبالانسر است که تعیین میکند کدام سرور باید درخواست را پردازش کند. این روش تضمین میکند که هیچ سروری مجبور نیست ترافیک بیشتری نسبت به آنچه واقعا میتواند پردازش و مدیریت کند. این الگوریتم ها به دو دسته اصلی ایستا و پویا تقسیم می شوند که در ادامه مطلب به شرح آنها خواهیم پرداخت.
اصول کلی نحوه عملکرد لودبالانسر بهصورت زیر است:
- برنامه یا مرورگر، از سمت کلاینت درخواستی را دریافت میکند و سعی میکند برای پردازش آن با یک سرور ارتباط برقرار کند.
- لودبالانسر درخواست را دریافت میکند و بر اساس الگوهای از پیش تعیین شده الگوریتم، درخواست را به یکی از سرورهای یک گروه سرورهدایت میکند.
- سرور درخواست اتصال را دریافت میکند و پس از پردازش، پاسخ را از طریق لودبالانسر به مشتری ارسال میکند.
- لودبالانسر پاسخ را دریافت میکند و IP مشتری را با سرور انتخاب شده مطابقت میدهد. سپس بسته را با پاسخ ارسال میکند.
- در صورت لزوم، لودبالانسر فرآیند رمزگشایی دادهها که با استفاده از پروتکل رمزگذاری SSL است را مدیریت میکند تا سرورها مجبور به انجام آن نباشند.
- این روند تا پایان جلسه (session) تکرار میشود.
مزایای لودبالانسینگ چیست؟
یکی از مهمترین مزیتهای لودبالانسرها همانگونه که اشاره شد، افزایش سرعت در پاسخگویی به درخواست کاربران است. سرورها، هنگامی که با درخواستهای زیاد مواجه میشوند، نمی توانند به کار خود ادامه دهند یا کند میشوند و این بر سرعت بارگذاری و زمان پاسخ تأثیر میگذارد. لودبالانسر، فشار روی سرورها را کاهش میدهد و در نتیجه عملکرد آنها افزایش مییابد و این نیز به نوبه خود سرعت وبسایت شما را افزایش میدهد.
مزیت دیگر لودبالانسرها که یکی از مدل های پرفروش آن انواع لود بالانسرهای پپ لینک است، افزونگی است. تعمیر و نگهداری معمولی یا نقص سختافزاری، در برخی مواقع، سرور شما را موقتاً از کار میاندازد. این یک مشکل بزرگ برای شرکتهای کوچک و بزرگ است. شما باید روی استراتژیهای پشتیبانی و افزونگی خوب سرمایهگذاری کنید. یکی از این راهکارها، لودبالانسر است. لودبالانسر مشاهده می کند که یک سرور از کار افتاده است و بهسادگی ترافیک را به سرورهای دیگر هدایت میکند. به این ترتیب، دیگر نگران از کار افتادن وبسایت خود نخواهید بود.
یکی از رایج ترین مشکلاتی که کارکنان فناوری اطلاعات در مورد وبسایت ها با آن مواجه میشوند این است که باید تعمیر و نگهداری وبسایت را بدون حذف وبسایت انجام دهند. این کمی شبیه تعمیر موتور در حالی است که آن را در حال کار نگه دارید. با استفاده از لودبالانسر، دیگر چنین مشکلی وجود ندارد. لودبالانسر انعطافپذیری بالایی فراهم میکند؛ بهطوری که کارشناسان فناوری اطلاعات هر زمان که بخواهند میتوانند فرایند نگهداری را انجام دهند. آنها میتوانند بهسادگی یک سرور را خاموش کرده و ترافیک شما را از طریق سرور دیگری هدایت کنند. بنابراین، یک لودبالانسر تضمین میکند که وبسایت شما در طول تعمیر و نگهداری از دسترس خارج نمیشود.
همانطور که وبسایت شما رشد میکند و افراد بیشتری شروع به بازدید از آن میکنند، خواهید دید که به منابع بیشتری نیاز دارید و آن طرح سادهای که قبلا داشتید کافی نیست. افزایش ناگهانی ترافیک میتواند بهطور واقعی وبسایت شما را با مشکل مواجه کند. استفاده از لودبالانسر، این مشکل را بسیار قابل کنترلتر میکند. شما اکنون قدرت چندین سرور را در اختیار دارید و مهمتر از آن، هر زمان که ترافیک افزایش پیدا کند، لودبالانسر شما وارد عمل میشود تا تمام آن ترافیک اضافی را مدیریت کند.
اگر وب سایت شما دارای گواهینامه SSL است، سرورهای شما یک کار اضافی انجام میدهند که ممکن است شما از آن آگاه نباشید. هنگامی که یک درخواست به یک وبسایت SSL ارسال میشود، درخواست و هر داده همراه آن رمزگذاری میشود. سرورها این دادههای رمزگذاری شده را دریافت می کنند و اکنون وظیفه دارند همه آنها را قبل از شروع پردازش دادهها رمزگشایی کنند. این مهم، زمان و منابع محاسباتی را بیشتر از پیش درگیر میکند. اینجاست که لودبالانسرها به کمک میآیند. آنها دادهها را رمزگشایی کرده و به وبسرور ارسال میکنند. این بدان معنی است که سرور میتواند روی پردازش ورودی و ارسال اطلاعات مربوطه تمرکز کند. با این کار، منابع محاسباتی سرور را هدر نمیدهید و در جاهای دیگر استفاده بهتری از آنها میشود.
الگوریتمهای لودبالانسینگ در لودبالانسرها
لودبالانسرها از الگوریتمها یا فرمولهای ریاضی استفاده میکنند تا تصمیم بگیرند که کدام سرور هر درخواست را دریافت کند. الگوریتمهای متفاوتی وجود دارند. این الگوریتمها در حالت کلی در دو نوع هستند:
الگوریتمهای لودبالانسر ایستا
الگوریتمهای لودبالانسر ایستا بارهای کاری را بدون در نظر گرفتن وضعیت فعلی سیستم توزیع میکنند. این الگوریتمها از اینکه کدام سرورها کُند عمل میکنند و کدام سرورها به اندازه کافی استفاده نمیشوند آگاه نخواهند بود. در عوض بارهای کاری را بر اساس یک برنامه از پیش تعیین شده اختصاص میدهند. لودبالانسر استاتیک سریع تنظیم میشود، اما میتواند منجر به بهرهوری کمتر شود.
الگوریتمهای لودبالانسر پویا
الگوریتم های لودبالانسر پویا، در دسترس بودن، حجم کاری و سلامت هر سرور را در نظر میگیرند. آنها میتوانند ترافیک را از سرورهای پربار یا ضعیف به سرورهای کماستفاده منتقل کنند و توزیع را یکنواخت و کارآمد نگه دارند. با این حال، تنظیم لودبالانسر پویا دشوارتر است. برای در دسترس بودن سرور، عوال متععدی نقش دارند: سلامت و ظرفیت کلی هر سرور، اندازه وظایف در حال توزیع و غیره.
الگوریتمهای لودبالانسر پپلینک
الگوریتمهای لودبالانسینگ پپلینک میتوانند به شما کمک کنند تا بهراحتی نحوه توزیع ترافیک در بین اتصالات را بهطور دقیق تنظیم کنید و بدون نیاز به ایجاد VPN، انعطاف پذیریای مانند SD-WAN را برای شما فراهم میکند. هر استقرار یک راهاندازی منحصربهفرد دارد و نرمافزار لودبالانسر سازمانی پپلینک میتواند تمام نیازهای خاص شما را برآورده کند. با الگوریتمهای زیر قانون خود را تعریف کنید و سپس از مسیریابی با کارایی بالا که پپلینک ارائه میدهد لذت ببرید.
الگوریتم Weighted Balance
ترافیک بیشتری را به یک لینک پرسرعتتر یا ترافیک کمتری را به یک اتصال با کمترین پهنای باند اختصاص میدهد. برای هر اتصال وزنی مشخص میشود و ترافیک خروجی بهطور متناسب با توجه به نسبت مشخصشده توزیع میشود.
الگوریتم Priority
تا زمانی که لینک مودنظر شما در دسترس است، ترافیک به سمت همان لینک هدایت میشود. یک ترتیبی برای اولویت لینکها باید مشخص کنید. پس از آن ترافیک از طریق لینک در دسترسی که بالاترین اولویت را در لیست دارد هدایت میشود. لینکهای با اولویت پایین فقط در صورتی استفاده خواهند شد که اتصال فعلی با مشکل مواجه شود.
الگوریتم Overflow
از کند شدن جریان ترافیک در صورت اتمام پهنای باند موجود اتصال جلوگیری میشود. در این الگوریتم، لینک دارای بالاترین اولویت، ترافیک را تا زمانی که لینک اشباع نشده است، هدایت می کند. پس از اشباع شدن، لینکهای با اولویت پایینتر مسیریابی ترافیک را آغاز میکنند.
الگوریتم Persistence
به دلایل امنیتی، بسیاری از بانکداریهای الکترونیک و سایر وبسایتهای امن، زمانی که آدرس IP اینترنتی رایانه مشتری در اواسط جلسه تغییر میکند، جلسه خاتمه مییابد. نگرانی امنیتی این است که تغییر آدرس IP در طول یک جلسه ممکن است نتیجه یک تلاش غیرمجاز برای نفوذ باشد. بنابراین، برای جلوگیری از آسیبهای ناشی از نفوذ احتمالی، جلسه با تشخیص تغییر آدرس IP خاتمه مییابد. روترهای Pepwave را میتوان برای توزیع ترافیک داده در چندین اتصال WAN پیکربندی کرد. همچنین، IP اینترنت به اتصالات WAN بستگی دارد که از طریق آنها ارتباط برقرار میشود. در نتیجه، کامپیوتر کاربر در پشت روتر Pepwave ممکن است با استفاده از چندین آدرس IP اینترنتی ارتباط برقرار کند. با الگوریتم Persistence، میتوان قوانینی را پیکربندی کرد تا رایانههای مشتری بتوانند دائماً از همان اتصالات WAN برای بانکداری الکترونیک و سایر وبسایتهای امن استفاده کنند. در نتیجه، یک دستگاه کاربر با استفاده از یک آدرس IP ارتباط برقرار میکند و مشکلات ذکر شده در بالا را از بین میبرد. در واقع این راهکار، یک نوع ترافیک را مشخص میکند تا از طریق همان اتصال بهطور مداوم بر اساس آدرسهای IP مبدا و/یا مقصد هدایت شود. تا پایان جلسه، ترافیک در همان اتصال به مسیر خود ادامه خواهد داد.
الگوریتم Least Used
به شما کمک می کند تا ارتباط بهتری را با پهنای باند آزاد بیشتر انتخاب کنید. ترافیک به لینکی هدایت میشود که بیشترین پهنای باند در دسترس را در بین اتصالات انتخاب شده دارد.
الگوریتم Lowest Latency
از سریعترین اتصال بر اساس زمان تأخیر اتصال استفاده میکند. در بازههای زمانی از پیش تعریف شده، دادههای تست به تمام اتصالات در دسترس ارسال میشود. سپس تمام ترافیک به لینکی با کمترین زمان تأخیر در بین اتصالات انتخاب شده اختصاص داده می شود.
الگوریتم Enforced
ترافیک خروجی را به یک اتصال خاص محدود میکند. در این روش، یک اتصال را انتخاب میکنید و نوع ترافیک مشخص شده همیشه از طریق آن هدایت میشود، چه لینک در دسترس باشد و چه نباشد. برای سناریوهایی مانند دسترسی به سروری که فقط به کاربران از یک IP خاص اجازه میدهد، کاربردی است.
الگوریم Fastest Response Time
در شروع هر جلسه، ترافیک تکراری میشود و به همه اتصالات سالم ارسال میشود. اتصال با اولین پاسخ از مقصد برای ارسال تمام ترافیک بعدی آن جلسه استفاده میشود.
انواع لودبالانسرها
انواع لودبالانسرهای پپلینک
سری SD-WAN پپلینک امکان مدیریت و تنظیمات آسانتر را با استفاده از قابلیت مدیریت ابری متمرکز، فراهم میکند. در این سری که از انواع لینکهای WAN استفاده میکند، همواره ارتباطی پایدار خواهید داشت. فناوری SpeedFusion که یک فناوری منحصربهفرد Peplink است، به VPNهای سازمانی امکان میدهد که از پهنای باند چند کابل ارزان قیمت، DSL، 3G، 4G، LTE و سایر اتصالات در هر نقطه از شبکه WAN شرکتی یا سازمانی استفاده کنند
انواع لودبالانسرهای پپویو
لود بالانسرهای پپویو دارای سری MAX هستند. در این سری تجمیع تا ۱۸ کانکشن دیتای موبایل امکانپذیر است. روترهای سری MAX با استفاده از مدیریت ابری و قابلیت ردیابی از طریقGPS ، در هر مکان و شرایطی قابل مانیتور و مدیریت کردن است. این ویژگیها باعث میشود که راهکارهای مرتبط با آن را در سناریوهایی که امکان پیادهسازی زیرساختهای متداول کابلی وجود ندارد، پیادهسازی کنید.
مانیتورینگ سرور چیست؟
لودبالانسرهای پویا باید از سلامت سرور آگاه باشند. آنها با انجام بررسیهای منظم سلامت سرور، سرورها را کنترل می کنند. اگر سرور یا گروهی از سرورها درخواستهای کاربران را بهکندی پردازش میکنند، لودبالانسر ترافیک کمتری را به سمت آن هدایت میکند. اگر سرور یا گروهی از سرورها بهطور کامل از کار بیفتند، لودبالانسر ترافیک را به گروه دیگری از سرورها تغییر مسیر میدهد، فرآیندی که بهعنوان failover شناخته میشود. Failover زمانی اتفاق میافتد که یک سرور معین، کار نمیکند و لودبالانسر فرآیندهای عادی خود را به سرور دیگری یا گروهی از سرورها توزیع میکند. خرابی سرور برای قابلیت اطمینان بسیار مهم است؛ اگر پشتیبانگیری وجود نداشته باشد، خرابی سرور میتواند یک وبسایت یا برنامه را از بین ببرد. مهم است که Failover به سرعت انجام شود تا از وقفه در سرویسدهی جلوگیری شود.