← Semua pembelajaran / Astro Nol → Portal Berita
Fase 8 · Cloudflare: Cache, Edge & WAF

Tiered Cache, Cache Reserve & arsip lama

Cache hit ratio 93% masih menyisakan 7% yang menyentuh origin. Sebagian besarnya adalah artikel arsip yang jarang dibaca — dan ada cara khusus menanganinya.

Intisari

  • Tiered Cache membuat pusat data Cloudflare saling bertanya sebelum menghubungi origin-mu.
  • Tanpanya, satu artikel viral bisa di-fetch puluhan kali dari origin — sekali per pusat data.
  • Ia gratis di semua plan dan hampir selalu benar untuk dinyalakan. Nyalakan ini dulu.
  • Cache Reserve menyimpan objek di R2 sebagai lapis kedua — bagus untuk arsip, tapi ditagih per operasi dan per GB.
  • Untuk arsip berita, hitung dulu: banyak berkas kecil yang jarang diakses bisa lebih mahal dari yang dihemat.

Masalah tanpa Tiered Cache

Artikel viral, pembaca dari seluruh Indonesia dan luar negeri.
Cloudflare punya pusat data di banyak kota.

Tanpa Tiered Cache:
  Jakarta   MISS → origin
  Singapura MISS → origin
  Surabaya  MISS → origin
  Frankfurt MISS → origin
  … dan seterusnya

Satu artikel = puluhan permintaan ke origin, semuanya untuk isi yang sama.
Dengan Tiered Cache:
  Jakarta   MISS → tanya tier atas → MISS → origin   (satu-satunya yang sampai)
  Singapura MISS → tanya tier atas → HIT
  Surabaya  MISS → tanya tier atas → HIT
  Frankfurt MISS → tanya tier atas → HIT

Ini yang paling menguntungkan saat kamu paling membutuhkannya. Artikel yang tiba-tiba viral adalah momen ketika beban origin melonjak paling tajam — dan Tiered Cache memangkasnya menjadi satu permintaan. Nyalakan sebelum yang lain: Caching → Tiered Cache → Smart Tiered Caching.

Smart vs Custom

Smart Tiered CachingCustom / Regional
KonfigurasiSatu sakelarKamu memilih tier atasnya
Pemilihan tier atasOtomatis, terdekat dengan originManual
PlanSemuaEnterprise
Cocok untukHampir semua orangOrigin di banyak region

Cache Reserve

Cache edge punya kapasitas terbatas dan mengeluarkan objek yang jarang diakses. Untuk portal berita dengan 200 ribu artikel, ini berarti artikel arsip praktis selalu MISS: dibaca sekali sebulan dari pencarian Google, jauh lebih jarang daripada ambang bertahan di cache.

Cache Reserve menaruh lapis persisten berbasis R2 di antara edge dan origin-mu.

Pembaca → edge (MISS) → tier atas (MISS) → Cache Reserve (HIT) → pembaca
                                                └ origin tidak tersentuh
UntukCache Reserve
Artikel arsip yang jarang dibacaSangat cocok
Gambar artikel lamaSangat cocok
Beranda & artikel terbaruTidak perlu — sudah selalu HIT di edge
Data yang berubah tiap 15 menitTidak — akan lebih banyak tulis daripada baca

Cache Reserve ditagih, dan modelnya perlu dipahami sebelum menyalakan. Biayanya terdiri dari penyimpanan per GB per bulan plus operasi baca dan tulis. Untuk arsip berita — banyak berkas kecil yang jarang diakses — jumlah operasinya bisa mendominasi, dan totalnya melebihi biaya egress AWS yang kamu hemat. Hitung dengan angkamu sendiri sebelum menyalakannya untuk seluruh situs, dan pertimbangkan mengaktifkannya lewat Cache Rule hanya untuk jalur arsip.

Alternatif tanpa biaya tambahan

// TTL edge yang lebih panjang untuk artikel lama — mereka tidak berubah lagi
const umurHari = (Date.now() - artikel.terbitPada.getTime()) / 86400000;

const sMaxAge =
  umurHari < 1   ? 60     :   // masih berkembang
  umurHari < 7   ? 300    :
  umurHari < 90  ? 3600   :
                   86400;     // arsip: sehari penuh

Astro.response.headers.set(
  "Cache-Control",
  `public, max-age=0, s-maxage=${sMaxAge}, stale-while-revalidate=604800, stale-if-error=604800`,
);

Sepuluh baris ini memberi sebagian besar keuntungan Cache Reserve tanpa biaya apa pun. Artikel berumur lebih dari tiga bulan hampir tidak pernah disunting; menyimpannya sehari di edge aman, dan kalau ternyata perlu diperbaiki, purge by tag menyelesaikannya seketika.

Ini pola yang layak dibiasakan: TTL sebagai fungsi dari umur konten. Ia mencerminkan kenyataan — berita satu jam yang lalu masih mungkin diperbarui, berita tahun lalu tidak — dan menghasilkan cache hit ratio yang jauh lebih tinggi pada arsip tanpa mengorbankan kesegaran yang penting.

Argo Smart Routing

Argo
Yang dilakukanMerutekan lalu lintas edge→origin lewat jalur tercepat di jaringan Cloudflare
MembantuRequest yang MISS — yaitu 7% sisamu
Tidak membantuRequest yang HIT (mayoritas)
BiayaPer GB yang dirutekan

Setelah cache hit ratio-mu 93%, Argo hanya menyentuh 7% trafik. Manfaatnya nyata untuk pembaca di luar negeri, tapi urutannya jelas: perbaiki cache dulu, ukur, baru pertimbangkan Argo.

Urutan yang benar

UrutanTindakanBiayaDampak
1Cache Rules untuk HTMLNolTerbesar
2Abaikan parameter pelacakan di cache keyNolBesar
3Smart Tiered CacheNolBesar saat lonjakan
4TTL bertingkat menurut umur artikelNolSedang
5Gambar ke R2Hemat egressSedang
6Cache ReserveDitagihKecil, setelah 1–5
7ArgoDitagihKecil, setelah 1–5

Latihan: nyalakan Smart Tiered Caching dan implementasikan TTL bertingkat menurut umur artikel. Catat cache hit ratio sebelum dan 24 jam sesudahnya. Lalu, sebelum mempertimbangkan Cache Reserve, ambil dari Analytics: berapa persen request MISS-mu yang menuju artikel berumur lebih dari 90 hari, dan berapa ukuran rata-ratanya. Dua angka itu yang menentukan apakah biayanya sepadan.

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.