سلب مسئولیت:
این مقاله حاوی اطلاعاتی نیست که قبلاً برای خوانندگان آشنا با مفهوم CDN ناشناخته بود، اما ماهیت یک بررسی فناوری است.
اولین صفحه وب در سال 1990 ظاهر شد و اندازه آن فقط چند بایت بود. از آن زمان به بعد، محتوا هم از نظر کیفی و هم از نظر کمی مقیاس بندی شده است. توسعه اکوسیستم فناوری اطلاعات منجر به این واقعیت شده است که صفحات وب مدرن با مگابایت اندازه گیری می شوند و هر ساله روند افزایش پهنای باند شبکه تقویت می شود. چگونه ارائه دهندگان محتوا می توانند مقیاس های جغرافیایی بزرگ را پوشش دهند و دسترسی سریع به اطلاعات را برای کاربران در همه جا فراهم کنند؟ شبکه های تحویل و توزیع محتوا که به عنوان شبکه تحویل محتوا یا به سادگی CDN نیز شناخته می شود، باید با این وظایف کنار بیایند.
محتوای «سنگین» بیشتر و بیشتر در اینترنت وجود دارد. در عین حال، مطالعات متعدد نشان میدهد که کاربران نمیخواهند با وب سرویسها سروکار داشته باشند، اگر بارگذاری آنها بیش از 4 تا 5 ثانیه طول بکشد. سرعت بارگذاری بسیار پایین سایت مملو از از دست دادن مخاطب است که مطمئناً منجر به کاهش ترافیک، تبدیل و در نتیجه کاهش سود خواهد شد. شبکههای تحویل محتوا (CDN)، در تئوری، این مشکلات و پیامدهای آن را حذف میکنند. اما در واقعیت، طبق معمول، همه چیز با جزئیات و تفاوت های ظریف یک مورد خاص تعیین می شود که در این زمینه موارد زیادی وجود دارد.
ایده شبکه های توزیع شده از کجا آمد؟
بیایید با یک سفر کوتاه به تاریخ و تعاریف اصطلاحات شروع کنیم. CDN شبکهای از گروهی از ماشینهای سرور است که در مکانهای مختلف قرار دارند تا دسترسی به محتوای اینترنتی را که تعداد زیادی از کاربران را پوشش میدهد، فراهم کند. ایده شبکه های توزیع شده این است که چندین نقطه حضور (PoP) به طور همزمان داشته باشند که خارج از سرور منبع قرار دارند. چنین سیستمی مجموعه ای از درخواست های دریافتی را سریعتر پردازش می کند و پاسخ و سرعت انتقال هر داده را افزایش می دهد.
مشکل ارائه محتوا به کاربران به شدت در اوج توسعه اینترنت، یعنی. در اواسط دهه 90 سرورهای آن زمان که عملکردشان حتی به لپ تاپ های پرچمدار مدرن هم نمی رسید، به سختی می توانستند بار را تحمل کنند و با ترافیک روزافزون کنار بیایند. مایکروسافت سالانه صدها میلیون دلار برای تحقیقات مربوط به بزرگراه اطلاعات خرج می کند (640 کیلوبایت معروف بیل گیتس بلافاصله به ذهن می رسد). برای حل این مشکلات، ما مجبور شدیم از کش سلسله مراتبی استفاده کنیم، از مودم به فیبر نوری سوئیچ کنیم و توپولوژی شبکه را با جزئیات تجزیه و تحلیل کنیم. این وضعیت یادآور یک لوکوموتیو قدیمی بود که در امتداد ریل ها می شتابد و در طول مسیر با تمام وسایل ممکن برای افزایش سرعت مدرن شده است.
قبلاً در اواخر دهه 90 ، صاحبان پورتال های وب متوجه شدند که برای کاهش بار و ارائه درخواست های مورد نیاز ، باید از سرورهای واسطه استفاده کنند. اینگونه بود که اولین CDN ها ظاهر شدند و محتوای ثابت را از سرورهای مختلف که به صورت جغرافیایی در سراسر جهان پراکنده بودند توزیع کردند. تقریباً در همان زمان، یک تجارت شبکه توزیع شده ظاهر شد. بزرگترین (حداقل یکی از بزرگترین) ارائه دهنده CDN در جهان، Akamai، در این زمینه پیشگام شد و سفر خود را در سال 1998 آغاز کرد. چند سال بعد، CDN گسترده شد و درآمد حاصل از تحویل محتوا و مشارکت به ده ها میلیون دلار در ماه بالغ شد.
امروزه هر بار که به یک صفحه تجاری پربازدید می رویم یا در شبکه های اجتماعی ارتباط برقرار می کنیم با یک CDN مواجه می شویم. این سرویس توسط: Amazon، Cloudflare، Akamai و همچنین بسیاری دیگر از ارائه دهندگان فراملیتی ارائه می شود. علاوه بر این، شرکتهای بزرگ تمایل دارند از CDNهای خود استفاده کنند که مزایای زیادی در سرعت و کیفیت ارائه محتوا برای آنها به همراه دارد. اگر فیسبوک شبکههای توزیعشده نداشت، اما فقط با یک سرور اصلی واقع در ایالات متحده قانع بود، بارگذاری یک نمایه برای کاربران در اروپای شرقی بسیار بیشتر طول میکشید.
چند کلمه در مورد CDN و جریان
FutureSource Consulting صنعت موسیقی را تجزیه و تحلیل کرد و به این نتیجه رسید که در سال 2023 تعداد اشتراکهای سرویسهای پخش موسیقی به تقریباً نیم میلیارد نفر خواهد رسید. علاوه بر این، خدمات بیش از 90 درصد از درآمد خود را از پخش صدا دریافت خواهند کرد. وضعیت ویدیو نیز مشابه است؛ اصطلاحاتی مانند بیایید بازی کنیم، کنسرت آنلاین و سینمای آنلاین قبلاً در فرهنگ لغت رایج جا افتاده است. اپل، گوگل، یوتیوب و بسیاری از شرکت های دیگر خدمات پخش خود را دارند.
در معرفی اولیه خود، CDN عمدتاً برای سایت هایی با محتوای ثابت استفاده می شد. استاتیک اطلاعاتی است که بسته به اقدامات کاربر، زمان و سایر عوامل تغییر نمی کند. شخصی نیست اما ظهور خدمات پخش ویدئو و صوتی، مورد استفاده رایج دیگری را برای شبکه های توزیع شده اضافه کرده است. سرورهای واسطه که نزدیک به مخاطبان هدف در سراسر جهان قرار دارند، امکان دسترسی پایدار به محتوا را در دورههای اوج بار فراهم میکنند و کمبود گلوگاه اینترنت را از بین میبرند.
چطور کار می کند؟
ماهیت همه CDN ها تقریباً یکسان است: از واسطه ها استفاده کنید تا بتوانید محتوا را سریعتر به مصرف کننده نهایی تحویل دهید. به صورت زیر عمل می کند: کاربر درخواستی برای دانلود فایل ارسال می کند، توسط سرور CDN دریافت می شود که یک بار با سرور اصلی تماس می گیرد و محتوا را به کاربر می دهد. به موازات این، CDN فایلها را برای یک دوره زمانی معین ذخیره میکند و تمام درخواستهای بعدی را از کش خودش پردازش میکند. به صورت اختیاری، آنها همچنین می توانند فایل ها را از سرور منبع از قبل بارگذاری کنند، دوره نگهداری حافظه پنهان را تنظیم کنند، فایل های سنگین را فشرده کنند و موارد دیگر. در ایده آل ترین وضعیت، میزبان کل جریان را به یک گره CDN منتقل می کند، که در حال حاضر از منابع خود برای ارائه محتوا به کاربران استفاده می کند. ناگفته نماند که کش موثر اطلاعات و همچنین توزیع درخواست ها نه به یک سرور، بلکه در شبکه، منجر به بار ترافیکی متعادل تر می شود.
دومین ویژگی مهم عملیات CDN کاهش تاخیر در انتقال داده ها (همچنین به عنوان RTT - زمان رفت و برگشت شناخته می شود) است. ایجاد یک اتصال TCP، دانلود محتوای رسانه، یک فایل JS، شروع جلسه TLS، همه اینها به پینگ بستگی دارد. بدیهی است که هرچه به منبع نزدیکتر باشید، سریعتر می توانید از آن پاسخ دریافت کنید. به هر حال، حتی سرعت نور هم حد خود را دارد: حدود 200 هزار کیلومتر بر ثانیه از طریق فیبر نوری. این بدان معنی است که از مسکو تا واشنگتن تاخیر در RTT حدود 75 میلی ثانیه خواهد بود و این بدون تأثیر تجهیزات میانی است.
برای درک بهتر این که شبکه های توزیع محتوا چه مشکلاتی را حل می کنند، در اینجا لیستی از راه حل های فعلی آورده شده است:
- Google، Yandex، MaxCDN (از CDN های رایگان برای توزیع کتابخانه های JS استفاده کنید، بیش از 90 نقطه حضور در اکثر کشورهای جهان دارند).
- Cloudinary، Cloudimage، Google (خدمات بهینه سازی مشتری و کتابخانه ها: تصاویر، فیلم ها، فونت ها و غیره)؛
- Jetpack، Incapsula، Swarmify و غیره (بهینه سازی منابع در سیستم های مدیریت محتوا: bitrix، wordpress و غیره)؛
- CDNVideo، StackPath، NGENIX، Megafon (CDN برای توزیع محتوای استاتیک، که به عنوان شبکه های هدف عمومی استفاده می شود)؛
- Imperva، Cloudflare (راه حل هایی برای افزایش سرعت بارگذاری وب سایت).
3 نوع اول CDN از لیست برای انتقال تنها بخشی از ترافیک از سرور اصلی طراحی شده اند. 2 باقیمانده به عنوان سرورهای پراکسی تمام عیار با انتقال کامل کانال ها از میزبان منبع استفاده می شوند.
این فناوری برای چه کسانی و چه مزایایی دارد؟
در تئوری، هر وب سایتی که محصولات/خدمات خود را به مشتریان یا افراد شرکتی (B2B یا B2C) می فروشد، می تواند از اجرای CDN سود ببرد. مهم است که مخاطبان هدف آن، یعنی. پایگاه کاربر خارج از موقعیت جغرافیایی آنها بود. اما حتی اگر اینطور نباشد، شبکه های توزیع به تعادل بار برای حجم زیادی از محتوا کمک می کنند.
بر کسی پوشیده نیست که چند هزار رشته برای مسدود کردن کانال سرور کافی است. بنابراین، توزیع پخش های ویدئویی برای عموم مردم به ناچار منجر به تشکیل گلوگاه - پهنای باند کانال اینترنت می شود. هنگامی که تعداد زیادی تصاویر کوچک و بدون دوخت در یک وب سایت (مثلاً پیش نمایش محصول) وجود دارد، همین موضوع را مشاهده می کنیم. سرور مبدا هنگام پردازش هر تعداد درخواست از یک اتصال TCP استفاده می کند که بارگیری را در صف قرار می دهد. افزودن یک CDN توزیع درخواست ها در چندین دامنه و استفاده از چندین اتصال TCP را ضروری می کند و بار کانال را کاهش می دهد. و فرمول تاخیر رفت و برگشت، حتی در غم انگیزترین سناریوها، مقدار 6-7 RRT را می دهد و به شکل: TCP+TLS+DNS می باشد. این همچنین شامل تاخیرهای مرتبط با فعال کردن کانال رادیویی در دستگاه و انتقال سیگنال به دکل های سلولی است.
کارشناسان با خلاصه کردن نقاط قوت فناوری برای تجارت آنلاین، نکات زیر را برجسته می کنند:
- مقیاس سریع زیرساخت + کاهش پهنای باند. سرورهای بیشتر = نقاط بیشتری که اطلاعات در آن ذخیره می شود. در نتیجه، یک نقطه ترافیک کمتری را در واحد زمان پردازش می کند، به این معنی که ممکن است توان عملیاتی کمتری داشته باشد. علاوه بر این، ابزارهای بهینهسازی وارد عمل میشوند و به شما امکان میدهند بدون اتلاف زمان با اوج بارها کنار بیایید.
- پینگ پایین تر قبلاً اشاره کردیم که مردم دوست ندارند مدت طولانی در اینترنت منتظر بمانند. بنابراین، پینگ بالا به نرخ پرش بالا کمک می کند. تأخیر می تواند ناشی از مشکلات پردازش داده ها در سرور، استفاده از تجهیزات قدیمی یا توپولوژی شبکه باشد. اکثر این مشکلات تا حدی توسط شبکه های توزیع محتوا حل می شود. اگرچه ذکر این نکته در اینجا مهم است که سود واقعی اجرای این فناوری تنها زمانی قابل مشاهده خواهد بود که "پینگ مصرف کننده" از 80-90 میلی ثانیه تجاوز کند و این فاصله مسکو تا نیویورک است.
- امنیت داده ها. DDos (حملات ویروس انکار سرویس) با هدف از کار انداختن سرور به منظور دستیابی به منافعی انجام می شود. یک سرور بسیار بیشتر از یک شبکه توزیع شده در معرض آسیب پذیری های امنیت اطلاعات است (نصب زیرساخت غول پیکری مانند CloudFlare کار آسانی نیست). به لطف استفاده از فیلترها و توزیع مناسب درخواست ها در شبکه، به راحتی می توانید از مشکلات ایجاد شده مصنوعی در دسترسی به ترافیک قانونی جلوگیری کنید.
- توزیع سریع محتوا و توابع خدمات اضافی. توزیع حجم زیادی از اطلاعات در شبکه سرور، انتقال سریع پیشنهاد به مصرف کننده نهایی را ممکن می سازد. مجدداً، نیازی نیست که به دنبال مثال باشید - فقط آمازون و AliExpress را به خاطر بسپارید.
- توانایی "نقاب" مشکلات با سایت اصلی. نیازی نیست منتظر بمانید تا DNS به روز شود، می توانید آن را به یک مکان جدید منتقل کنید و محتوای ذخیره شده قبلی را توزیع کنید. این به نوبه خود می تواند تحمل خطا را بهبود بخشد.
ما مزایا را مرتب کرده ایم. حال بیایید ببینیم کدام سوله ها از این سود می برند.
کسب و کار تبلیغاتی
تبلیغات موتور پیشرفت است. برای جلوگیری از سوختن موتور باید در بارگیری متوسط باشد. بنابراین تجارت تبلیغاتی که سعی در کنار آمدن با دنیای دیجیتال مدرن دارد، با مشکلات «محتوای سنگین» مواجه است. رسانه های سنگین به تبلیغات چندرسانه ای (عمدتا بنرها و ویدئوهای متحرک) گفته می شود که به پهنای باند شبکه بالایی نیاز دارد. یک وبسایت با چندرسانهای زمان زیادی طول میکشد تا بارگذاری شود و ممکن است مسدود شود و قدرت اعصاب کاربران را آزمایش کند. اکثر مردم حتی قبل از اینکه تمام اطلاعات موجود را دانلود کنند، چنین منابعی را رها می کنند. شرکت های تبلیغاتی می توانند از CDN ها برای حل این مشکلات استفاده کنند.
Продажи
تجارت الکترونیک نیاز به گسترش دائمی پوشش جغرافیایی خود دارد. نکته مهم دیگر مبارزه با رقبا است که در هر بخش بازار به وفور وجود دارد. اگر یک وب سایت الزامات کاربر را برآورده نکند (از جمله زمان طولانی برای بارگذاری)، محبوب نخواهد بود و نمی تواند به طور مداوم تبدیل های بالایی را به ارمغان بیاورد. پیاده سازی CDN باید مزیت خود را در رسیدگی به درخواست های داده از مکان های مختلف ثابت کند. همچنین، توزیع ترافیک به جلوگیری از افزایش ترافیک و خرابی های بعدی سرور کمک می کند.
پلتفرم هایی با محتوای سرگرمی
انواع پلتفرم های سرگرمی در اینجا مناسب هستند، از دانلود فیلم و بازی گرفته تا پخش ویدئو. علیرغم این واقعیت که این فناوری با داده های ثابت کار می کند، داده های جریانی می توانند از طریق تکرارکننده ها سریعتر به کاربر برسد. باز هم، ذخیره اطلاعات CDN در حافظه پنهان یک نجات برای صاحبان پورتال های بزرگ - ذخیره سازی چند رسانه ای است.
بازی های آنلاین
بازی های اینترنتی باید در قسمتی جداگانه قرار داده شوند. اگر تبلیغات به پهنای باند زیادی نیاز دارد، پروژه های آنلاین حتی نیاز به منابع بیشتری دارند. ارائه دهندگان با مشکلی روبرو هستند که دو جنبه دارد: سرعت دسترسی به سرورها + تضمین عملکرد بالای بازی با گرافیک زیبا. CDN برای بازیهای آنلاین فرصتی برای داشتن به اصطلاح «مناطق فشار» است که در آن توسعهدهندگان میتوانند بازیها را بر روی سرورهای نزدیک به کاربران ذخیره کنند. این به شما امکان می دهد تأثیر سرعت دسترسی به سرور اصلی را کاهش دهید و بنابراین از گیم پلی راحت در همه جا اطمینان حاصل کنید.
چرا CDN یک دارو نیست؟
با وجود مزایای آشکار، همه و نه همیشه تلاش می کنند تا فناوری را وارد تجارت خود کنند. چرا اینطور است؟ به طور متناقض، برخی از معایب ناشی از مزایا هستند، به علاوه چند نکته دیگر مربوط به استقرار شبکه اضافه شده است. بازاریابان به زیبایی در مورد تمام مزایای فناوری صحبت خواهند کرد و فراموش می کنند که همه آنها در طیف گسترده ای از شرایط بی معنی می شوند. اگر با جزئیات بیشتری به معایب CDN نگاه کنیم، ارزش برجسته کردن آن را دارد:
- فقط با استاتیک کار کنید. بله، اکثر وب سایت های مدرن درصد کمی از محتوای پویا دارند. اما در جایی که صفحات شخصی سازی می شوند، CDN نمی تواند کمک کند (به جز اینکه ممکن است حجم زیادی از ترافیک را تخلیه کند).
- تاخیر در حافظه پنهان. بهینه سازی خود یکی از مزیت های اصلی شبکه های توزیع است. اما زمانی که تغییری در سرور مبدا ایجاد میکنید، مدتی طول میکشد تا CDN آن را در تمام سرورهای خود ذخیره کند.
- مسدود کردن انبوه اگر به هر دلیلی آدرس IP یک CDN ممنوع شود، تمام سایت هایی که روی آن میزبانی می شوند بسته می شوند.
- در بیشتر موارد، مرورگر دو اتصال (به سرور مبدا و CDN) برقرار می کند. و اینها میلی ثانیه های اضافی انتظار هستند.
- اتصال به آدرس IP پروژه هایی (از جمله پروژه هایی که وجود ندارند) که قبلاً به آن اختصاص داده شده اند. در نتیجه، رتبهبندیهای پیچیدهای را از رباتهای جستجوی Google دریافت میکنیم و مشکلاتی را در بالا بردن سایت در حین ارتقاء سئو کسب میکنیم.
- یک گره CDN یک نقطه بالقوه شکست است. اگر از آنها استفاده می کنید، مهم است که از قبل بدانید مسیریابی سیستم چگونه کار می کند و چه خطاهایی ممکن است در حین کار با سایت رخ دهد.
- پیش پا افتاده است، اما شما باید برای خدمات تحویل محتوا هزینه کنید. به طور کلی، هزینه ها متناسب با حجم ترافیک است، به این معنی که ممکن است برای برنامه ریزی بودجه نیاز به کنترل باشد.
یک واقعیت مهم: حتی نزدیک بودن CDN به کاربر، پینگ کم را تضمین نمی کند. این مسیر را می توان از یک مشتری به یک میزبان واقع در کشور دیگر یا حتی در قاره ای دیگر ساخت. این بستگی به سیاست مسیریابی یک شبکه خاص و رابطه آن با اپراتورهای مخابراتی (پیرینگ) دارد. بسیاری از ارائه دهندگان CDN بزرگ برنامه های متعددی دارند، که در آن هزینه به طور مستقیم بر نزدیکی نقطه حضور هنگام ارائه محتوا به کاربران هدف تأثیر می گذارد.
فرصت هایی وجود دارد - CDN خود را راه اندازی کنید
آیا از سیاست های شرکت های ارائه دهنده خدمات شبکه توزیع محتوا ناراضی هستید، اما کسب و کار شما نیاز به گسترش دارد؟ در صورت امکان، چرا CDN خود را راه اندازی نکنید. این در موارد زیر منطقی است:
- هزینه های جاری برای توزیع محتوا انتظارات را برآورده نمی کند و توجیه اقتصادی ندارد.
- ما به یک کش دائمی، بدون مجاورت با سایت های دیگر در سرور و کانال نیاز داریم.
- مخاطب هدف در منطقه ای است که هیچ نقطه حضور CDN در دسترس شما نیست.
- نیاز به شخصی سازی تنظیمات هنگام ارائه محتوا؛
- نیاز به تسریع در ارائه محتوای پویا وجود دارد.
- مشکوک به نقض حریم خصوصی کاربران و سایر اقدامات غیرقانونی از طرف خدمات شخص ثالث.
راه اندازی CDN مستلزم داشتن یک نام دامنه، چندین سرور در مناطق مختلف (مجازی یا اختصاصی) و یک ابزار پردازش درخواست است. نصب گواهینامه های SLL، راه اندازی و ویرایش برنامه هایی برای ارائه محتوای ثابت (Nginx یا Apache) و نظارت موثر بر کل سیستم را فراموش نکنید.
پیکربندی صحیح پراکسی های کش موضوع یک مقاله جداگانه است، بنابراین ما در اینجا به طور مفصل توضیح نمی دهیم: کجا و چه پارامتری را به درستی تنظیم کنیم. با در نظر گرفتن هزینه های راه اندازی و زمان برای استقرار یک شبکه، استفاده از راه حل های آماده ممکن است امیدوارکننده تر باشد. اما باید با توجه به شرایط موجود هدایت شد و چندین مرحله از قبل برنامه ریزی کرد.
که منجر به
CDN مجموعه ای از ظرفیت های اضافی برای انتقال ترافیک شما به توده ها است. آیا آنها برای تجارت آنلاین مورد نیاز هستند؟ بله و خیر، همه چیز به این بستگی دارد که محتوا برای چه مخاطبانی در نظر گرفته شده است و صاحب کسب و کار چه اهدافی را دنبال می کند.
پروژه های منطقه ای و بسیار تخصصی از اجرای CDN معایب بیشتری نسبت به مزیت ها خواهند داشت. درخواست ها همچنان ابتدا به سرور منبع ارسال می شوند، اما از طریق یک واسطه. از این رو کاهش مشکوک در پینگ، اما هزینه های ماهانه کاملاً مشخص برای استفاده از سرویس. اگر تجهیزات شبکه خوبی دارید، میتوانید به راحتی الگوریتمهای امنیت اطلاعات موجود را بهبود ببخشید، سرورهای خود را نزدیکتر به کاربران قرار دهید و بهینهسازیها و سود را به صورت مداوم به صورت رایگان دریافت کنید.
اما واقعاً چه کسی باید در مورد سرورهای واسطه فکر کند، شرکتهای بزرگی هستند که زیرساختهایشان نمیتواند با جریان دائما در حال رشد ترافیک مقابله کند. CDN خود را بهعنوان فناوری کاملاً نشان میدهد که به شما امکان میدهد به سرعت یک شبکه را در جغرافیای وسیعی از کاربران مستقر کنید، بازیهای ابری راحت ارائه دهید یا کالاها را در یک پلت فرم تجاری بزرگ بفروشید.
اما حتی با وجود مخاطبان جغرافیایی گسترده، مهم است که از قبل بدانیم چرا شبکه های توزیع محتوا مورد نیاز است. شتابدهی وبسایت همچنان یک کار پیچیده است که با پیادهسازی CDN نمیتوان آن را به طور جادویی حل کرد. ویژگی های مهمی مانند: کراس پلتفرم، سازگاری، بهینه سازی قسمت سرور، کد، رندر و غیره را فراموش نکنید. ممیزی فنی اولیه و اقدامات کافی برای از بین بردن مشکلات همچنان راه حل بهینه برای هر پروژه آنلاین بدون توجه به تمرکز و مقیاس آن است.
در حقوق تبلیغات
همین الان میتونید سفارش بدید
منبع: www.habr.com