Backend Cache

Dari Webhook ke Cache: Website Client yang Selalu Up-to-date

Sitetisfy Website Client tidak punya database sendiri — semua konten diambil dari REST API Sitetisfy CMS, lalu disimpan di cache dua lapis: segar selama 30 menit, dan stale selama 7 hari sebagai jaring pengaman kalau CMS sedang down.

Masalah dengan cache murni time-based

Cache 30 menit cukup baik untuk performa, tapi berarti perubahan konten butuh waktu sampai setengah jam untuk muncul di situs client — terlalu lambat untuk kebutuhan seperti koreksi harga produk atau publish artikel baru yang mendesak.

Webhook sebagai jalur invalidasi cepat

Begitu admin publish/update konten di CMS, CMS mengirim webhook bertanda tangan HMAC ke setiap website client terkait. Client memverifikasi signature, lalu menghapus hanya fresh cache untuk resource yang terdampak — stale cache tetap dipertahankan sebagai fallback.

Hasilnya: perubahan konten terasa hampir instan di situs client, sementara cache tetap melindungi performa dan ketahanan terhadap downtime CMS.