CDN یا Content delivery network چیست و چه کاربردی دارد؟؟؟

 یکی از تکنولوژی‌های محبوب وبمسترها CDN که مخفف کلمات Content delivery network و به معنای شبکه توزیع محتوا است که با آن می‌توانند سرعت بارگذاری و نمایش سایت یا وبلاگ خود را افزایش دهند و همچنین این امکان هزینه چندانی نیز برای آن‌ها ندارد و می‌توانند به راحتی تنها در چند دقیقه این امکان را به سایت خود اضافه کنند. همانطور که می‌دانید سرعت بالای بارگذاری سایت برای بهینه سازی سایت برای موتورهای جستجوگر ( SEO ) نیز نتایج مثبتی دارد.

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

 

خوب  حالا چی کار کنیم که این بازه زمانی کوتاه تر بشه ؟ همانطور که گفتیم این زمان بستگی به پهنای باند سرور و پهنای باند کاربر دارد. اما عامل سومی‌هم هست که میتوان به نام زمان انتقالبه ان اشاره کرد. یعنی فاصله سرور تا کاربر. این فاصله زمانی رو میشه تشبیه کرد به فاصله زمانی که شما نیاز دارید از منزل به بانک مورد نظر خودتون برسید. فرض کنید بانکی که شما به اون نیاز دارید فقط یک شعبه در شهر شما داشته باشه، بنابراین شما اگه شانس داشته باشید خونه نزدیک به بانک باشه، میتونین با پای پیاده و در چند دقیقه به اون برسید، اما اگر شما در سمت دیگر شهر باشید، شاید با حساب ترافیک، یک ساعت در راه باشید! حالا فرض کنید بانک شما در چهار گوشه شهر، شعبه‌های جدید ایجاد کنه. حتما این دفعه که به بانک میروید، زمان کمتری رو صرف میکنید چون این بار میتونین انتخاب کنید و بانکی که به شما نزدیک تره رو به عنوان مسیر انتخاب کنید. در حالت بهتر اینکه این بانک در تمام محله‌های شهر، شعبه بزنه. حالا شما انتخاب‌های بیشتری دارید. اگر در محل کار هستید میتونید به شعبه شماره ۴۵ که نزدیک محل کار هست بروید و اگر در خانه هستید به شعبه ۱۸٫

 

همین مثال رو در مورد یک سایت در نظر بگیرید. اگر سایت شما یک سرور داشته باشه و اون هم مثلا در کشور کانادا باشه، تمامی‌بازدیدکننده‌های سایت شما باید با سروری در کانادا ارتباط برقرار کنند. چه اونی که تو ژاپن هست و چه اونی که تو خود کانادا هست. واضح هست که سرعت برای اشخاصی که به سرور دورتر هستند، کندتر خواهد بود. مثل همون بانک مثال ما در حالت اول که فقط یکی بود. در حالت دوم، ما سروری رو برای سایت خودمون انتخاب میکنیم که از طریق تکنولوژی‌های موجود در مهندسی شبکه، میتونه در چندین مکان فیزیکی قرار بگیره. مثلا در کانادا و ژاپن و اسپانیا و ایران(!) حالا اگر کاربر ایرانی درخواست این سایت رو داشته باشه، مجموعه سرور، متوجه یک درخواست از ایران میشه و کاربر رو به سرور ایران میفرسته یا اگر کاربری از فرانسه بخواد سایت رو ببینه، مجموعه ما اون رو به نزدیکترین سرور خودش یعنی اسپانیا میفرسته. بنابراین به این صورت، سرعت لود شدن صفحه، به علت کم کردن زمان انتقال، بیشتر خواهد شد.

 

به این مجموعه که در نقاط مختلفی داری سرور هست و بسته به محل درخواست، اون رو به نزدیکترین سرور هدایت میکنه، Content Delivery Network میگوییم. در واقع CDN رو میشه به صورت شبکه ای از کامپیوترهایی با وظیفه ارسال اطلاعات درخواستی به کاربر در کمترین زمان و انتخاب مناسبترین مسافت، تعریف کرد.
شرکتهای بزرگ مثل یاهو، مایکروسافت، فیسبوک و گوگل، برای خودشون چنین شبکه ای رو به صورت خصوصی دارند. و شرکتهای دیگری هم هستند که این سرویس رو به مشتری‌هاشون در قبال پرداخت هزینه ای ارایه میدهند. برای نمونه میشه از شرکتهایی مثل http://www.akamai.com و سرویس cloudfront شرکت آمازون نام برد.
CDN رو یکی از اهداف Cloud Computing هم میشه نام برد به این مفهوم که فایلهای شما مهم نیست در چه مکان فیزیکی قرار گرفته اند، مهم اینه که چجوری میشه به اون دسترسی پیدا کرد.

 

مزایای استفاده از CDN چیست ؟


همانطور که در بالاتر گفتیم CDN به‌هاست ما قدرت سرورهای چندگانه را می‌دهد و می‌توانیم مزیت‌های استفاده از این روش را به صورت زیر لیست کنیم.

۱. افزایش سرعت بارگذاری و نمایش صفحات وب در سیستم بازدید کنندگان

۲. افزایش امنیت سایت‌ها ( بیشتر ارتباط‌ها به صورت غیر مستقیم و محافظت دو چندان هستند )

۳. افزایش مقدار پهنای باند ( برای مثال اگر سرور شما ۱۰ گیگابایت پهنای باند به شما ارائه می‌کند وقتی شما از یک CDN که دارای ۱۰ node است استفاده می‌کنید در حقیقت شما ۱۰ * ۱۰ گیگابایت به پهنای باند خود افزوده اید

۴. هزینه بسیار پایین ( دلیل این مزیت توانایی استفاده اشتراکی چندین نفر از سرور‌ها است )

۵. نصب آسان ( نیاز به داشتن تخصص خاصی برای نصب این سرویس بر روی سایت خود ندارید و ارائه دهندگان این سرویس معمولاً افزونه‌های از پیش ساخته و یا راه کارهایی برای شما دارند که تنها در چند دقیقه امکان استفاده از این سرویس را به شما می‌دهند )

۶. افزایش سرعت بارگذاری و نتایج مثبت در رتبه سایت شما در موتورهای جستجوگر ( همانطور که می‌دانید سرعت رابطه مستقیمی‌با  SEO سایت شما دارد.

۷. و …

 

CDN‌های رایگان

 

استفاده از سرویس CDN ، برای شما هزینه خواهد داشت. اما برخی شرکت‌ها، قابلیت استفاده از یک سری فایلها رو در شبکه خودشون به صورت رایگان به شما میدهند. این فایلها اکثرا منابعی هستند که به مقدار بسیار زیادی در سایت‌های اینترنتی به کار رفته اند مانند فایلهای کتابخونه‌ای پر استفاده ای‌جکس و جاوااسکریپت. پر استفاده ترین حالت در اینترنت استفاده از فایل jQuery در سرور گوگل هست. یعنی به جای اینکه فایل اصلی jQuery رو در سایت خودتون آپلود کنید و در src اسکریپت به اون فایل اشاره کنید:

scripts/jquery.min.js

به صورت مستقیم از این آدرس در src مربوط به اسکریپت استفاده میکنید:

http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js

البته مایکروسافت هم اخیرا اعلام کرده که فایلهای مربوط به Microsoft Ajax و jQuery رو به صورت رایگان در CDN خودش قرار داده و ما میتونیم استفاده کنیم. در مورد استفاده از jQuery CDN، یک مطلب خواهم نوشت.

مزیت استفاده از یک فایل در یک CDN بزرگ مثل گوگل و مایکروسافت چیست؟
مزیت اول که در تعریف CDN توضیح داده شد یعنی به نسبت محل ما، سروری انتخاب میشه که فایل رو به ما زودتر برسونه. و اما مزیت دوم چیست؟ تعداد بسیار زیادی از سایتهای اینترنتی هستند از این CDN‌های اعلام شده رایگان (گوگل و مایکروسافت) استفاده می‌کنند. چون آدرس این فایلها ثابت هست و همه سایت‌ها دارن از این آدرس استفاده میکنند بنابراین شانس اینکه این فایل روی کامپیوتر کاربر شما قرارگرفته شده باشه بسیار بالاست. زیرا اگر کاربر، به اولین سایتی بره که از این قابلیت استفاده میکنه، این فایل مثل همه فایلهای دیگه برای مرورگر، در‌هارد کامپیوتر دانلود میشه و ذخیره میشه. به این ترتیب، مرورگر اگر در سایت دیگه ای به همین آدرس فایل برسه، اون رو دیگه دانلود نمیکنه و به همون فایلی که قبلا دانلود کرده رجوع میکنه و استفاده میکنه. بنابراین شما میتونین به اندازه حجم اون فایل، سرعت لود شدن سایت خودتون رو جلو بندازید.


و اما معرفی یک CDN  رایگان  باور نکردنی :


اکثر وبلاگ نویسان معمولا از CDN استفاده نمی‌کنند،زیرا قیمت پلن‌های آن در سرویس دهنده‌های محبوب CDN گران هستند و برای سایت‌های کوچک توجیح اقتصادی ندارند(در ایران خودمون حساب کن!) .اما اخیرا سایتی بنام SpeedyMirror اقدام به ارائه سرویس CDN با قیمت‌های خوب کرده است که قسمت هیجان انگیز آن امکان استفاده رایگان از آن است.SpeedyMirror این پلان رایگان خود را با میزان تبادل اطلاعات ۵۰ گیگابایت عرضه می‌کند که حدود ۶ -۷ ماه نیازهای یک سایت متوسط را برآورده می‌کند.اما حتما فکر می‌کنید اگر این مقدار تمام شد،چکار خواهیم کرد؟مشکلی نیست چون بعد از اتمام این مقدار،می‌توانید سراغ پلان‌های پولی آن بروید که از $۰.۰۳۴ برای هر گیگابایت شروع می‌شود(فکر کنم ارزانترین در دنیا !) .در پست‌های اینده نحوه ثبت نام و انجام تنظیمات در سایت SpeedyMirror را با هم مرور کنیم.لطفا با ما باشید.