برای لود شدن سایت، مرورگر باید درخواست تک تک فایلهای مربوط به اون صفحه وب رو به سرور ارسال کنه و سرور هم در پاسخ مرورگر، اون فایل رو براش ارسال کنه. بنابراین یک زمانی برای درخواست مرورگر و پاسخ سرور در نظر بگیرید و زمانی رو برای دانلود شدن اون فایل در کامپیوتر بازدیدکننده.
پس هدف ما کم کردن این زمان هست. این زمان بستگی داره به پهنای باند سرور و پهنای باند کاربر. اما عامل سومی هم هست که میتونیم بهش زمان انتقال بگیم. یعنی فاصله سرور تا کاربر. این فاصله زمانی رو میشه تشبیه کرد به فاصله زمانی که شما نیاز دارید از منزل به بانک مورد نظر خودتون برسید. فرض کنید بانکی که شما به اون نیاز دارید فقط یک شعبه در شهر شما داشته باشه، بنابراین شما اگه شانس داشته باشید خونه نزدیک به بانک باشه، میتونین با پای پیاده و در چند دقیقه به اون برسید، اما اگر شما در سمت دیگر شهر باشید، شاید با حساب ترافیک، یک ساعتی در راه باشید! ( میدونم شما عادت به بانکداری الکترونیکی دارید اما در این مثال، بیخیال شوید!) حالا فرض کنید بانک شما در چهار گوشه شهر، شعبه های جدید ایجاد کنه. حتما این دفعه که به بانک میروید، زمان کمتری رو صرف میکنید چون این بار میتونین انتخاب کنید و بانکی که به شما نزدیک تره رو به عنوان مسیر انتخاب کنید. در حالت بهتر اینکه این بانک در تمام محله های شهر، شعبه بزنه. حالا شما انتخاب های بیشتری دارید. اگر در محل کار هستید میتونید به شعبه شماره ۴۵ که نزدیک محل کار هست برید و اگر در خانه هستید به شعبه ۱۸.
همین مثال رو در مورد یک سایت در نظر بگیرید. اگر سایت شما یک سرور داشته باشه و اون هم مثلا در کشور کانادا باشه، تمامی بازدیدکننده های سایت شما باید با سروری در کانادا ارتباط برقرار کنند. چه اونی که تو ژاپن هست و چه اونی که تو خود کانادا هست. واضح هست که سرعت برای اشخاصی که به سرور دورتر هستند، کندتر خواهد بود. مثل همون بانک مثال ما در حالت اول که فقط یکی بود. در حالت دوم، ما سروری رو برای سایت خودمون انتخاب میکنیم که از طریق تکنولوژی های موجود در مهندسی شبکه، میتونه در چندین مکان فیزیکی قرار بگیره. مثلا در کانادا و ژاپن و اسپانیا و ایران(!) حالا اگر کاربر ایرانی درخواست این سایت رو داشته باشه، مجموعه سرور، متوجه یک درخواست از ایران میشه و کاربر رو به سرور ایران میفرسته یا اگر کاربری از فرانسه بخواد سایت رو ببینه، مجموعه ما اون رو به نزدیکترین سرور خودش یعنی اسپانیا میفرسته. بنابراین به این صورت، سرعت لود شدن صفحه، به علت کم کردن زمان انتقال، بیشتر خواهد شد.
به این مجموعه که در نقاط مختلفی داری سرور هست و بسته به محل درخواست، اون رو به نزدیکترین سرور هدایت میکنه، Content Delivery Network میگوییم. در واقع CDN رو میشه به صورت شبکه ای از کامپیوترهایی با وظیفه ارسال اطلاعات درخواستی به کاربر در کمترین زمان و انتخاب مناسبترین مسافت، تعریف کرد.
شرکتهای بزرگ مثل یاهو، مایکروسافت، فیسبوک و گوگل، برای خودشون چنین شبکه ای رو به صورت خصوصی دارند. و شرکتهای دیگری هم هستند که این سرویس رو به مشتری هاشون در قبال پرداخت هزینه ای ارایه میدهند. برای نمونه میشه از شرکتهایی مثل http://www.akamai.com و سرویس cloudfront شرکت آمازون نام برد.
CDN رو یکی از اهداف Cloud Computing هم میشه نام برد به این مفهوم که فایلهای شما مهم نیست در چه مکان فیزیکی قرار گرفته اند، مهم اینه که چجوری میشه به اون دسترسی پیدا کرد.
عضو لیست ایمیلی ما شوید تا آخرین نوشتههای یک ادمین برایتان ایمیل شود
۸ دیدگاه
با تشکر از مطلب خوب و آموزنده شما
با تشکر
موفق باشید
واقعا عالی بود .
دست شما هم درد نکنه
مرسی بابت این اطلاعات عالیتون
آیا جایی هست که CDN رایگان ارائه بده؟
بله. میتوانید از Cloudflare.com استفاده کنید.
ک سایت داریم بر روی سرور ایران
در مراحل ثبت سایت در کلود فلیر برای دریافت سرویس cdn ، با این پیام مواجه میشیم که خاسته dns هارو تغییر بدیم .
Capture.JPG
سوال اینجاست که اینکار
باعث نمیشه سایت از خارج از ایران لود بشه و سرعت بارگزاری برای کاربران ایرانی کمتر بشه ؟! شما اگر سایتتون روی سرور ایران بود چنین کاری میکردید ؟
من ترجیح میدادم که از کلادفلیر با هاست ایران استفاده نکنم
سلام من یه پروژه در مورد CDN دارم به مطالب بیشتری نیاز دارم ممنون میشم کمکم کنید
شما چه دیدگاهی دارید؟