Amazon CloudFront حالا Invalidation با Cache Tag داره!
خلاصهٔ کاملتر
Amazon Web Services اعلام کرده که سرویس Amazon CloudFront حالا از invalidation بر اساس cache tag پشتیبانی میکنه. این یعنی میشه گروهی از محتوای مرتبط رو با یه درخواست واحد از edge locationهای CloudFront پاک کرد، بدون اینکه لازم باشه URLها رو تکتک دنبال کنی یا از wildcardهای گسترده استفاده کنی.
مشکل قبلی چی بود؟ تا حالا وقتی میخواستی چند آبجکت مرتبط رو که URL مشترکی نداشتن invalidate کنی، یا باید همه URLها رو جداگانه وارد میکردی، یا از یه wildcard کلی استفاده میکردی که ناخواسته محتوای غیرمرتبط رو هم پاک میکرد. هر دو روش هم زمانبر بودن و هم میتونستن نسبت cache hit رو پایین بیارن.
راهحل جدید چطور کار میکنه؟ وقتی سرورت یه آبجکت رو به CloudFront برمیگردونه، میتونی یه header مخصوص توی HTTP response اضافه کنی که شامل یه یا چند تگ با جداکننده کاما باشه. CloudFront این تگها رو نگه میداره و هر وقت خواستی، با ارسال یه درخواست invalidation برای اون تگ، تمام آبجکتهای مرتبط پاک میشن.
نام این header رو میشه از طریق CloudFront console، AWS CLI یا API تنظیم کرد. همچنین هر آبجکت میتونه چندین تگ مختلف داشته باشه که مدیریت دقیقتر و انعطافپذیرتری رو ممکن میکنه.
سرعت اعمال تغییرات هم جالبه: invalidationها در کمتر از ۵ ثانیه در P95 اعمال میشن و زمان کامل عملیات (شامل گزارش وضعیت نهایی) زیر ۲۵ ثانیه در P95 هست.
این قابلیت برای سناریوهای مختلفی به کار میاد؛ از جمله:
- بهروزرسانی اطلاعات محصول در چندین صفحه همزمان
- مدیریت درخواستهای حقوقی برای حذف محتوا
- رعایت الزامات compliance و قانونی
- رفرش محتوا در پلتفرمهای multi-tenant
از نظر قیمتگذاری، هر cache tag مثل یه path حساب میشه؛ پس همون منطق قیمتگذاری invalidation عادی CloudFront رو داره.
این قابلیت در تمام AWS Regions که CloudFront توشون هست در دسترسه، بهجز مناطق چین (Sinnet و NWCD).
نکات کلیدی:
- با cache tag invalidation میشه گروهی از آبجکتهای مرتبط رو با یه درخواست پاک کرد
- تگها از طریق یه HTTP response header با مقادیر جداشده با کاما تنظیم میشن
- هر آبجکت میتونه چندین تگ داشته باشه
- invalidation در کمتر از ۵ ثانیه (P95) اعمال میشه و زمان کامل عملیات زیر ۲۵ ثانیهست
- نام header از طریق Console، CLI یا API قابل تنظیمه
- هر cache tag به اندازه یه path قیمت داره
- در تمام ریجنهای AWS (بهجز چین) در دسترسه




