ADR-002: Anlık İçerik Yayını (Revalidation)
DerinVersiyon: 1.0.0
Durum: Onaylandı
Karar tarihi: 2026-06-16
Admin panelinde içerik değişikliği yapıldığında landing sayfası anlık güncellenmelidir. Müşteriler değişikliği hemen görmek ister.
Bağlam
Bölüm başlığı “Bağlam”- Müşteri profili: sabırsız, sık içerik güncellemesi (ayda 1 blog ile haftada 3 blog arası)
- Kendi markalar: ETP ISR yolu devam edebilir
- Müşteri landingleri: statik ağırlıklı ama revalidation zorunlu
Uygulama modeli
Bölüm başlığı “Uygulama modeli”Admin (Filament) kayıt kaydet │ ▼Hub webhook: POST /api/v1/webhooks/revalidate body: { site_slug, tags: ["homepage", "blog", "blog:123"] } │ ▼Landing instance cache bust - Next.js: revalidateTag() / revalidatePath() - Astro: adapter-specific invalidate (benchmark'ta netleşir) │ ▼Sonraki ziyaretçi güncel içerik görür (< 5 saniye hedef)Fallback
Bölüm başlığı “Fallback”Webhook başarısız olursa:
- Retry queue (3 deneme, exponential backoff)
- Admin UI’da “yayınlandı ama cache yenilenemedi” uyarısı
- Manuel “cache temizle” butonu Filament’te
Blog özel kuralı
Bölüm başlığı “Blog özel kuralı”- Blog yazısı yayınlandığında:
blog+blog:{id}tag revalidate - Taslak kayıt: revalidate yok
- Silme:
bloglistesi revalidate
Statik marketing blokları: sayfa tag’i (homepage, services, faq) ile revalidate.
SLA hedefi (onaylı, 2026-06-16)
Bölüm başlığı “SLA hedefi (onaylı, 2026-06-16)”Kullanıcı deneyimi tanımı: operatör formu kaydeder, landing sitesinde refresh yapar, değişikliği görür.
| Metrik | Hedef |
|---|---|
| Kayıt → refresh → görünür | ~5 saniye ortalama |
| Webhook retry (arka plan) | < 30 saniye (toplam) |
Revizyon
Bölüm başlığı “Revizyon”| Versiyon | Tarih | Değişiklik |
|---|---|---|
| 1.0.0 | 2026-06-16 | Onaylandı |