مهمترین قابلیت CDN – افزونگی و قابلیت اطمینان
مهمترین قابلیت CDN چیست و آیا CDN میتواند پاسخگوی نیازهای اساسی یک سرویس هنگام رویارویی با مشکلات باشد؟ شبکه توزیع محتوا یا CDN یکی از مهمترین تکنولوژیهای حول حوزه وب است که علاوه بر امکان دسترسی سریعتر به محتوا، توانایی آنلاین نگهداشتن وبسایتها را نیز در مواجه با مشکلاتی همچون خرابی شبکه، خرابی سختافزار و… دارد. CDN این امکان را دارد که ازدحام شبکه را دور بزند و مانع از قطع سرویس آنلاین شود. در این پست از مجله هاست ایران میخواهیم در رابطه با قابلیت CDN از جمله قابلیت اطمینان و افزونگی در شبکههای توزیع محتوا نکات مهمی را یادآوری کنیم.
تعادل بار از مهمترین قابلیت CDN
یکی از مهمترین اهداف متعادلکننده بار این است که ظرفیت شبکه را به صورت متعادل و به صورت مساوی در بین سرورها تقسیم کند. این تعادل میتواند سختافزار محور یا نرمافزار محور باشد. شبکه توزیع محتوا از این متعادلکننده در مراکز داده جهت توزیع درخواستهای دریافتی در سراسر سرورها استفاده میکند تا اطمینان حاصل شود که کنترل و مدیریت ترافیک به بهترین شکل ممکن انجام شود.
این قابلیت CDN باعث میشود که سرعت پردازش افزایش یابد و از ظرفیت سرور نهایت استفاده برده شود. بارگذاری مناسب ترافیک ورودی یک مؤلفه کلیدی در کاهش جهشهای ترافیکی است که در طول فعالیتهای اینترنتی غیرمعمول رخ میدهد، مانند زمانی که یک وبسایت با تعداد غیرعادی بالایی از بازدیدکنندگان مواجه میشود یا در طول دیداس (حملات منع سرویس) قرار دارد.
شبکه توزیع محتوا همچنین از این متعادلکننده یا توازن بار جهت استفاده کارآمد زمانی که منابع سرو محدود است نیز استفاده میکند. زمانی که یک سرور از کار بیفتد و خطای در این رخ دهد، این متعادلکننده ترافیک ورودی به این سرور خرابشده را تغیر مسیر میدهد و این بار را به صورت مساوی بین سرورها توزیع میکند این کار باعث میشود که ریسک خرابی سختافزار به حداقل خود برسد و انعطافپذیری سرویس بالا برود و از طرفی دیگر قابلیت اطمینان را بالا میبرد.
زمانی که یک سرور جدید در مرکز داده آنلاین میشود، این قابلیت CDN بار به تناسب بار را از سایر سرورها حذف میکند و استفاده از سختافزار جدید را افزایش میدهد. خدمات متعادلسازی بار مبتنی بر نرمافزار به شبکه توزیع محتوا اجازه میدهد تا ظرفیت متعادلسازی بار را بهسرعت بدون وجود تنگناها در هنگام استفاده از سختافزار متعادلکننده بار فیزیکی، مقیاس بندی کند.
Failover در قابلیت CDN
در سیستمهای کامپیوتری مهم که همیشه به قابلیت اطمینان و دسترسپذیری نیاز دارند از Failover برای جلوگیری از از بین رفتن ترافیک، زمانی سرور در دسترس نباشد استفاده میشود. هنگامیکه یک سرور از کار میافتد و دچار خطا میشود، ترافیک باید به سروری انتقال یابد که هنوز در دسترس است. همچنین این قابلیت CDN، توانایی این را دارد که وظایف را خودکار کند و خرابی را به صورت هوشمند به سرورهای آنلاین و در دسترس انتقال دهد.
چگونه یک CDN محتوا را با قابلیت اطمینان ارائه میدهد؟
یک شبکه توزیع محتوا قادر است که مسیر بهینه را برای یافتن محتوا جهت قرار دادن این در دسترس کاربر، پیدا میکند. زمانی که کاربری محتوا را از یک وبسایت یا یک وب اپلیکیشن درخواست میکند یک سری اتصالات اتفاق میافتد تا درخواست از کاربر به سرور اصلی برسد.
میتوان گفت که ترافیک شبکه دقیقاً مانند بزرگراه و جادههای فرعی است. خیابان یا جادههای فرعی ترافیک محلی را در اطراف جاده جابهجا کنند و بزرگراهها ترافیک جاده را بین ایالتها و استانهای مختلف انتقال میدهند. زمانی که این بزرگراهها از کار بیفتند باید ترافیک از طریق این جادههای فرعی به هدف برسد، این فرایند میتواند ناکارآمد و زمانبر باشد. این اصل برای ترافیکهای وب نیز صادق است.
برای مثال فرض کنید یک کاربر در تهران در حال باز کردن یک وبسایت در لندن است. اتصال برای باز کردن مراحل زیادی را انجام میدهد، اما در این مثال، یکی از مهمترین مراحل این است که سیگنال شبکه از یک ارائهدهنده مخابراتی مستقر در یونان در مسیر خود به سمت مقصد نهایی عبور میکند. هنگامیکه یک خرابی در سرورهای یونان اتفاق میافتد، ارائهدهنده در لندن آفلاین میشود و ارتباط را قطع میکند. وقتی این اتفاق میافتد، کاربر دیگر نمیتواند محتوای اینترنتی خود را بارگیری کند، مگر اینکه ترافیک شبکه برای تطبیق با چشمانداز جدید شبکه تغییر مسیر دهد. اگر کاربر بخواهد به ل لندن برسد، اکنون باید از طریق یک ارائهدهنده مخابراتی دیگر درخواست ارسال شود.
اکنونکه ترافیک دیگر قادر به عبور از شبکه موردنظر نیست، در عوض باید وارد یک شبکه کاملاً متفاوت شود که توسط سازمان دیگری نگهداری میشود. این فرآیند مذاکره مجدد و سوئیچینگ شبکهها ممکن است چندین بار در یک درخواست شبکه اتفاق بیفتد و مواردی مانند این میتواند تأخیر ایجاد کند و ممکن است ترافیک را به مسیری پرازدحام سوق دهد که منجر به تأخیر شود. یک CDN با اندازه کافی معمولاً اتصالات شبکه خود را با قرار دادن سرورها در نقاط تبادل اینترنت (IXP) و سایر مکانهای استراتژیک کنترل میکند. این قابلیت CDN در یک شبکه بهینه شده به ارائه دهندگان CDN اجازه میدهد تا مسیر را بهینه کرده و تأخیر را کاهش دهند.
Anycast در CDN چیست؟
بسیاری از شبکههای توزیع محتوا از روشهای مسیریابی Anycast جهت انتقال ترافیک استفاده میکنند. این ویژگی برای اطمینان حاصل کردن از آنلاین بودن سرویس و بهبود زمان پاسخگویی به کار میرود و در مواجه با حملاتی مانند حملات دیداس یک استراتژی بسیار مؤثر بهحساب میآید.
با روش کنترل و انتقال ترافیک Anycast ماشینها میتوانند آدرس ای پی یکسانی به اشتراک بگذارند و زمانی که یک درخواست به یک آدرس IP Anycast ارسال شد، روترهای موجود این درخواست را به نزدیکترین شبکه در مسیر هدایت میکنند. این امر درست زمانی خودش را نشان میدهد که یک مرکز داده با خرابی مواجه شده باشد و یا در دسترس نباشد، در این صورت این شبکه Anycast پاسخگوی نیاز کاربران میشود و همانند متعادلکننده بار ترافیک را بین سروهای مختلف یک مرکز داده دیگر توزیع میکند. درواقع با این قابلیت CDN دادهها از دیتاسنتر خرابشده دور میشوند و به سمی دیتاسنتر سالم حرکت میکنند تا در دسترس قرار بگیرند.
چرا از Anycast در شبکههای توزیع محتوا استفاده میشود؟
ازاینجهت که امروزه حملات دیداس (حملات منع سرویس) یکی از رایجترین حملات هستند و باعث از کارافتادن سروها میشوند، این قابلیت CDN در قالب یک تکنولوژی در بیشتر شبکههای توزیع محتوا برای آنلاین نگهداشتن وبسایتها و سرویسها به کار میرود.
CDN هایی که از این تکنولوژی استفاده میکنند انعطافپذیری و قابلیت اطمینان بسیار بیشتری دارند و در مواجه با مشکلاتی همچون دیدادس و خرابیهای فیزیکی میتوانند پاسخگوی نیاز کاربران باشند.
سخن پایانی
در این پست آموزشی از مجله هاست ایران ما در رابطه با تکنولوژیهایی که در CDN ها به کار میرود و باعث میشود که سرویسها همیشه آنلاین بمانند صحبت کردیم. دوتا از این تکنولوژیهای مهم متعادلکننده بار و تکنولوژی Anycast هستند که در صورت خرابی سختافزاری، نرمافزاری و حملات دیداس ترافیک را از یک سرور به سرور دیگر انتقال میدهد.