Authority Cache
Bu sayfa, authority:{authority_id} key ailesinin Qapu içindeki işletim sözleşmesini tanımlar.
Bu key ailesi, tekil authority kaydını hızlı çözmek için kullanılır. Device authz projection zincirindeki temel entity cache katmanlarından biridir.
Doküman Seti
- Genel omurga ve kullanım mantığı: bu sayfa
- Kanonik payload, owner ve invalidation sözleşmesi: ilerleyen doküman sprintinde ayrı contract sayfasına taşınacaktır
- Okuma, invalidate ve rebuild akışı: bu sayfada özetlenir
Key Pattern
authority:{authority_id}
Örnek:
authority:88
Owner Service
- Primary writer: authority yöneten servis
- Primary readers: API, auth middleware, projection builder
- Secondary writer: read-through rebuild yapan servisler
Authoritative Source
authorities
Temel İlke
- Bu key authority entity kaydının cache/projection kopyasıdır.
- Owner, active, user/device ilişkisi gibi authz için kritik alanların hızlı çözülmesini sağlar.
- DB authoritative katmandır, Redis ise hızlı lookup katmanıdır.
Kanonik Yapı
{
"authority_id": 88,
"user_id": 123,
"device_id": "46000000C47CA670",
"owner": true,
"is_active": true,
"updated_at": "2026-04-20T06:00:00Z"
}
Read / Write Paths
Read Path
authority:{authority_id}Redis'ten okunur.- Hit varsa entity alanları doğrudan kullanılır.
- Miss varsa
authoritiestablosundan rebuild edilir.
Write Path
- Authority DB'de oluşturulur, güncellenir veya pasiflenir.
- Commit sonrası key invalidate edilir veya güncel gövde ile overwrite edilir.
- Sonraki read path gerekirse key'i yeniden kurar.
Write Order
authoritiesauthoritative kaynaktır.- Redis cache DB commit'inden önce güncellenmez.
- Primary strateji
invalidate + rebuildveya güvenli overwrite yaklaşımıdır. - Amaç stale authority kaydının authz zincirine sızmamasıdır.
Failure ve Drift Senaryoları
Senaryo A: Redis miss
- Beklenen davranış: DB fallback + write-back
- Etki: ilk lookup maliyeti artar, sonrası hızlanır
Senaryo B: Authority stale
- Beklenen davranış: invalidate + rebuild
- Etki: owner/active değişimi yanlış authz üretmez
Senaryo C: Authority pasif ama cache kaldı
- Beklenen davranış: pasifleştirme akışında invalidate zorunludur
- Etki: pasif authority ile işlem yapılması önlenir
Rebuild
Rebuild kaynakları:
authorities
Rebuild adımları:
- authority kaydı DB'den okunur
- minimal authz için gereken alanlar normalize edilir
SETEX authority:{authority_id}ile yazılır
Gözlemlenebilirlik Metrikleri
authority_cache_hit_ratioauthority_cache_miss_totalauthority_cache_rebuild_totalauthority_cache_invalidation_totalauthority_cache_db_fallback_latency_ms
TTL ve Invalidation
- TTL:
5m - 15m
Invalidation tetikleri:
- authority owner flag değişirse
- authority active flag değişirse
- authority device/user ilişkisi değişirse
- authority silinirse veya pasiflenirse
Çapraz Referanslar
/projects/qapu/services/redis/keyspace/authority-permissions-cache/projects/qapu/services/redis/keyspace/device-user-authz/projects/qapu/services/api/jwt-auth-flow