تفاوت روشهای PULL و PUSH در ذخیرهسازی محتوا روی سرورهای لبه CDN
وظیفهی شبکهی توزیع محتوا (CDN) تحویل محتوا به کاربران در کمترین زمان و با بیشترین سرعت ممکن است. CDNها معمولن از دو روش برای تحویل محتوا به مخاطب نهایی و ذخیرهی منابع روی سرورهای لبه خود استفاده میکنند: روش Pull و روش Push.
روش Pull
در این روش منابع وبسایت روی سرورهای لبه، Cache نمیشوند. نخستین درخواست از کاربری به یک سرور لبه CDN برای دریافت یک منبع، سبب میشود که سرور لبه این منبع را از سرور اصلی میزبان سایت درخواست و پس از دریافت آن، افزونبر ارسال به کاربر، آن را در Cache خود نیز ذخیره کند. سایر درخواستها با منابع Cache شده روی سرور لبه پاسخ داده میشوند.
دقت داشه باشید که در این حالت، تنها زمانی منابع یک وبسایت روی تمام سرورهای لبه CDN در نقاط مختلف دنیا Cache میشوند که درخواستی برای دسترسی به این منابع از کاربرانی در نقاط مختلف دنیا به سرورهای لبه ارسال شده باشد.
منابع Cache شده روی سرور لبه CDN، تا پایان مدت زمان انقضای خود روی این سرور باقی میمانند. پس از منقضی شدن یک منبع، دوباره نخستین درخواست از سوی یک کاربر سبب میشود تا سرور لبه ابتدا آن منبع را از سرور اصلی میزبان سایت تقاضا و Cache کند، سپس به درخواست کاربر پاسخ دهد.
مزیت این روش سادگی در پیادهسازی است. چرا که در این روش تمام محتوا با نام دامنهی اصلی شما روی پاپسایتهای CDN کش میشود و نیاز به وارد کردن نام دامنه یا انجام تنظیمات اضافهتری در پلاگینهای مربوطه نیست. شرکتی همانند Cloudflare و KeyCDN از این روش پشتیبانی میکنند.
ابر آروان نیز در محصول CDN خود روش Pull را بهکار میگیرد.
روش Push
در روش Push یک کپی از منابع استاتیک وبسایت روی تمام سرورهای لبه (CDN (edge server در نقاط جغرافیایی مختلف ذخیره میشود و هنگامیکه یک سرور لبه درخواست دریافت یکی از این منابع را از کاربری دریافت کند، از منابع cache شده برای پاسخدهی به مخاطب استفاده میکند.
در این حالت سرورهای لبه را میتوان در حکم سرور پشتیبانی برای سرور اصلی میزبان سایت در نظر گرفت. این روش نیازمند آن است که مدیر وبسایت بهشکل دستی محتوای مورد نیاز برای Cache شدن را به سرورهای لبه منتقل کند.
CDNهای پشتیبانیکننده از این روش معمولن چند سرور را بهعنوان سرور Push معرفی میکنند. مدیر وبسایت منابع را روی یک سرور Push قرار میدهد و سرورهای لبه، منابع را از این سرور دریافت میکنند. نکتهی مهم آن است که در این روش، زمان انجام تنظیمات پلاگینها، وارد کردن نام دامنه CDN الزامی است.
با این روش مخاطب نهایی منتظر کپی محتوا از سرور اصلی روی سرور لبه CDN سپس دانلود آن از طریق مرورگر نمیماند (که تمام این اتفاقات تنها در حد چند میلیثانیه رخ میدهند) اما این روش نیازمند آن است که مدیر وبسایت بهشکل مداوم فایلها را به سرورهای PUSH منتقل کند و از بهروز بودن آنها مطمین باشد. به بیان بهتر، هزینهی این روش، سختی پیادهسازی است. شرکتهایی همانند MaxCDN، Amazon Cloudfront از این روش استفاده میکنند.