Table of Contents
تعادل بار DNS یک تکنیک بنیادی برای معماری های مدرن وب است، امکان می دهد وب سایت ها به طور موثر در حالی که دسترسی به بالا را حفظ کنند، زیرا ترافیک آنلاین به طور غیر قابل پیش بینی رشد می کند، سازمان ها به توزیع مبتنی بر DNS متکی هستند تا از اضافه بار سرور جلوگیری کنند، تاخیر را کاهش دهند و حتی در طول شکست ها، از طریق هدایت درخواست های ورودی در سراسر سرورهای متعدد بر اساس قوانین یا الگوریتم های پیش تعریف شده، تعادل بار به عنوان یک خط اول قطع ترافیک و خرابی های امنیتی عمل می کند.
درک DNS Load balance
سیستم نام دامنه (DNS) کتاب آدرس اینترنت است، ترجمه نام دامنه قابل خواندن انسان به آدرس های IP. در تنظیمات استاندارد، یک نقشه دامنه منفرد به یک آدرس IP. DNS بار این را با پیوند دادن دامنه با آدرس های IP متعدد، هر نقطه به یک سرور مختلف میزبانی همان وب سایت یا خدمات هنگامی که یک کاربر درخواست می کند، سرور به طور موثر ترافیک موجود را از طریق توزیع ترافیک IP، حل می کند.
این رویکرد در لایه نرم افزار (Layer 7) عمل می کند و اغلب ساده ترین شکل تعادل بار برای پیاده سازی است.این نیاز به تغییرات در کد برنامه یا زیرساخت های اضافی مانند تعادل بار سخت افزار اختصاصی ندارد.هر سازمانی با ارائه دهنده DNS می تواند چندین A یا AAAA را برای دستیابی به توزیع اساسی پیکربندی کند، در حالی که تنظیمات پیشرفته تر استفاده از وزن، جغرافیا، و یا وضعیت بهداشتی برای اصلاح تصمیمات مسیریابی.
چگونه DNS Load Works
هنگامی که یک مشتری یک دامنه را حل می کند (به عنوان مثال.com)، سرور DNS به نظر می رسد سوابق خود را در پیکربندی بار متعادل، آن را انتخاب می کند یک IP از یک لیست با استفاده از یک الگوریتم تعریف شده است، پاسخ توسط مشتری یا حل کننده های واسطه با توجه به زمان به زندگی (TTL) ارزش تا زمانی که حافظه منقضی نشود، مشتری به سرعت استفاده از انتقال ترافیک ادامه می دهد - به این معنی تغییر ترافیک T نیست.
DNS Round Robin
ساده ترین الگوریتم گرد-robin است، جایی که سرور DNS از طریق لیست IP ها به منظور چرخش می کند، هر رزولوشن جدید IP بعدی را دریافت می کند، در حالی که آسان برای تنظیم، گرد-روبین برای بارگذاری سرور، ظرفیت یا مجاورت جغرافیایی نیست. A سرور که در حال حاضر غرق شده است هنوز می تواند درخواست های جدید دریافت کند تا زمانی که TTLs منقضی شود.
توزیع وزن
وزن به مدیران اجازه می دهد تا بخشی از ترافیک را به هر سرور بر اساس ظرفیت اختصاص دهند.برای مثال، یک سرور با 100 گیگابیت در ثانیه ممکن است وزن بالاتری نسبت به یک با 10 گیگابیت در ثانیه دریافت کند. سرور DNS به طور متناسب IP ها را برگرداند و پاسخ های مکرر بیشتری برای سرورهای با وزن بزرگتر ارائه دهد.این زمانی مفید است که سرورهای ناهمگن یا در طول مراحل مهاجرت.
مسیر جغرافیایی و Latency-based Routing
بسیاری از ارائه دهندگان DNS مدیریت شده مسیریابی جغرافیایی یا تاخیری را ارائه می دهند، این سیستم ها از IP مشتری برای تعیین مکان تقریبی استفاده می کنند و IP سرور را نزدیک به آنها بازگردانید.به طور جایگزین، ترافیک مسیریابی مبتنی بر تاخیر به سرور با کمترین زمان پاسخ اندازه گیری شده، این روش ها به طور چشمگیری تجربه کاربر را برای خدمات مخاطبان جهانی بهبود می بخشد.
مزایای کلیدی DNS Load Balance
- مقیاس پذیری مقیاس پذیری: اضافه کردن سرورهای جدید نیاز به به به روز رسانی سوابق DNS دارد. استخر بدون پیکربندی برنامه های مشتری رشد می کند. وب سایت ها می توانند ترافیک را در طول ارتقاء یا رویدادهای ویروسی با ارائه سرورهای بیشتر و تنظیم وزن DNS جذب کنند.
- افزایش قابلیت اطمینان و بازیابی فاجعه: اگر یک سرور شکست بخورد، چک های بهداشتی DNS به طور خودکار IP خود را از لیست پاسخ حذف می کنند. ترافیک به سرورهای سالم باقی مانده هدایت می شود.این شکست در محدوده TTL رخ می دهد، به طور معمول دقیقه همراه با استقرار چند منطقه، تعادل بار بهبود فاجعه قوی را فراهم می کند.
- بهره وری Cost: توزیع مبتنی بر DNS نیازی به تنظیم بار سخت افزار یا مجوز نرم افزار نیست.سازمان ها می توانند از زیرساخت های DNS موجود استفاده کنند، که اغلب شامل ثبت دامنه یا برنامه های میزبانی برای استارتاپ ها و کسب و کارهای رو به رشد است، این هزینه های اولیه را در حالی که هنوز توزیع بار پایه را ارائه می دهند، پایین نگه می دارد.
- عملکرد جهانی: تجزیه و تحلیل زمین کاربران را به مرکز داده جغرافیایی نزدیک ترین، کاهش زمان های دور سفر و بهبود سرعت بارگذاری صفحه هدایت می کند.
- تعمیر و نگهداری تقویت شده: گرفتن یک سرور آفلاین برای تعمیر و نگهداری شامل تنظیم وزنه های DNS به صفر یا حذف رکورد آن در طول دوره TTL، هیچ ترافیک جدید به آن سرور نمی رود، اجازه می دهد تخلیه ظریف از اتصالات موجود است.این اجتناب از نیاز به تعمیر و نگهداری پنجره هایی که همه کاربران را تحت تاثیر قرار می دهد.
پیاده سازی
برای استقرار تعادل بار DNS به طور موثر، چندین فاکتور نیاز به توجه دارند. TTL باید طراوت را در برابر بهره وری ذخیره سازی متعادل کند. A بسیار پایین TTL (به عنوان مثال، 30 ثانیه) اجازه می دهد تا به سرعت شکست بخورد، اما بار پرس و جو را بر سرورهای DNS معتبر افزایش دهد.
بررسی سلامت
DNS به تنهایی نمی داند که آیا یک سرور سالم است یا سیستم های نظارت خارجی نقاط انتهایی سرور را بررسی می کنند و سوابق DNS را به روز می کنند، بسیاری از ارائه دهندگان DNS چک های بهداشتی یکپارچه را ارائه می دهند که به طور خودکار IP های معیوب را حذف می کنند.
چندین DNS Providers
تجدید نظر در یک ارائه دهنده DNS واحد یک نقطه شکست را معرفی می کند که از دو یا چند ارائه دهنده استفاده می کند و آنها را با همان مجموعه از سوابق (که اغلب به نام Multi-DNS نامیده می شود) افزایش انعطاف پذیری می دهد؛ اگر آن را شکست دهد، این در محیط های سازمانی رایج است که نیاز به دسترسی به پنج و نه دارند.
دانلود بازی Caching Pitfalls
از آنجا که پاسخ های DNS توسط مرورگرهای، ISP ها و حل کنندگان بازگشتی ذخیره می شوند، تغییرات بلافاصله منتشر نمی شوند. یک سرور که آفلاین می شود ممکن است درخواست های مشتریان با یک IP کش شده برای مدت TTL دریافت کند تا این را کاهش دهد، برخی از پیاده سازی ها تعادل بار DNS را با TTL های کوتاه ترکیب می کنند و به relayertries یا مشتری وابسته هستند که قادر به کنترل اعتبار ورودی های DNS نیستند.
تکنیک های پیشرفته DNS Load balance
DNS Anycast
Anycast همان آدرس IP را از چندین مکان تبلیغ می کند. روترها ترافیک مستقیم به نزدیکترین نقطه بر اساس جداول مسیریابی BGP تبلیغ می کنند، این به طور موثر تعادل بار در لایه شبکه را ایجاد می کند و شکست ذاتی را فراهم می کند - اگر یک مکان شکست بخورد، روترها به طور خودکار به نزدیکترین مسیر می رسند. بسیاری از CDN ها و سیستم عامل های بزرگ استفاده از هرcast برای DNS و تحویل پیچیده تر از DNS های دور است.
Active-Passive در مقابل Active-Active
در یک پیکربندی منفعل، برخی از سرورها هیچ ترافیکی را تا زمانی که شکست اولیه کاهش می یابد، دریافت نمی کنند، اما به معنی ظرفیت غیرفعال است. توزیع فعال در سراسر سرور، به حداکثر رساندن بهره وری بار DNS به طور معمول با استفاده از تمام IP ها در پاسخ ها فعال می شود.
شکست های سنگین
با شکست وزن، مدیران اولویت های مختلف سرور را تعیین می کنند، اگر سرور اولیه (با بالاترین وزن) شکست بخورد، انتقال ترافیک به سرورهای ثانویه مفید است، این برای استقرار های هیبریدی مفید است که در آن سرورهای در پیش بینی بیشتر ترافیک خدمت می کنند، اما نمونه های ابر به عنوان یک سرریز یا هدف شکست ناپذیر عمل می کنند.
مقایسه با دیگر روش های Load balance
| Method | Strengths | Weaknesses |
|---|---|---|
| DNS Load Balancing | Low cost, global reach, no hardware needed | Slow failover (depends on TTL), no real‑time load awareness |
| Hardware Load Balancer | Very fast failover, health‑aware, supports SSL offloading | Expensive, single point of failure (unless clustered), limited to local area |
| Software Load Balancer (Nginx, HAProxy) | Flexible, can run anywhere, supports complex routing | Requires maintenance, can become a bottleneck if not scaled |
| Cloud Load Balancer (AWS ELB, GCP HTTP LBs) | Managed, scales automatically, integrates with health checks | Vendor lock‑in, per‑request pricing can be high at scale |
تعادل بار DNS اغلب این روش ها را تکمیل می کند.یک معماری معمولی از DNS برای هدایت کاربران به مراکز داده منطقه ای استفاده می کند، با تعادل بار سخت افزار یا نرم افزار در داخل هر مرکز داده که درخواست ها را به سرورهای فردی توزیع می کند، این رویکرد ترکیبی، دسترسی جهانی DNS را با کنترل ظریف تعادل بار محلی ترکیب می کند.
نتیجه گیری
تعادل بار DNS یک ابزار حیاتی برای هر وب سایت با هدف مقیاس پذیری و قابلیت اطمینان بالا باقی می ماند. سادگی آن، هزینه پایین و قابلیت برنامه نویسی جهانی آن را به عنوان اولین گام جذاب برای توزیع ترافیک ترافیک جذاب می کند، هنگامی که همراه با چک های بهداشتی، سیاست های مسیریابی هوشمند و استراتژی های چند منظوره، سازمان ها می توانند به زمان قوی و خدمات پاسخگو برسند، زیرا ترافیک اینترنت همچنان به افزایش تسلط، و بارگیری DNS - هنگامی که تجزیه و تحلیل های فعلی شما می تواند با دیگر تجزیه و تحلیل های متنوع تر از ارائه دهندگان تجزیه و تحلیل های تجزیه و تحلیل های تجزیه و تحلیل های مختلف، به تدریج از یکدیگر، مقاومت کند.