Device Authorities Cache
Bu sayfa, device:{device_id}:authorities key ailesinin Qapu içindeki işletim sözleşmesini tanımlar.
Bu key ailesi, belirli bir cihaza bağlı authority kayıtlarını hızlı çözmek için kullanılır.
Key Pattern
device:{device_id}:authorities
Örnek:
device:46000000C47CA670:authorities
Owner Service
- Primary writer: authority/device ilişkilerini yöneten servis
- Primary readers: API, auth middleware, projection builder
- Secondary writer: read-through rebuild yapan servisler
Authoritative Source
authorities
Temel İlke
- Bu key cihazın authority listesinin projection'ıdır.
- DB authoritative katmandır.
- Redis, device-scoped authz kararlarını hızlandırır.
Kanonik Yapı
{
"device_id": "46000000C47CA670",
"authority_ids": [88, 91],
"active_authority_ids": [88],
"updated_at": "2026-04-20T06:00:00Z"
}
Read / Write Paths
Read Path
device:{device_id}:authoritiesRedis'ten okunur.- Hit varsa authority listesi doğrudan kullanılır.
- Miss varsa
authoritiestablosundan rebuild edilir.
Write Path
- Cihaza authority atanır, kaldırılır veya pasiflenir.
- Commit sonrası key invalidate edilir.
- Sonraki read path rebuild ile yeni listeyi kurar.
Write Order
authoritiesauthoritative kaynaktır.- Redis key DB commit'inden önce güncellenmez.
- Primary strateji
invalidate + rebuildyaklaşımıdır.
Failure ve Drift Senaryoları
Senaryo A: Redis miss
- Beklenen davranış: DB fallback + write-back
- Etki: ilk request yavaşlar, sonra hız kazanılır
Senaryo B: Device authority listesi stale
- Beklenen davranış: invalidate + rebuild
- Etki: eski authority ile yanlış device authz üretilmez
Rebuild
Rebuild kaynakları:
authorities
Rebuild adımları:
- cihaza bağlı authority kayıtları okunur
- aktif/pasif ayrımı yapılır
SETEX device:{device_id}:authoritiesile yazılır
Gözlemlenebilirlik Metrikleri
device_authorities_cache_hit_ratiodevice_authorities_cache_miss_totaldevice_authorities_rebuild_totaldevice_authorities_invalidation_total
TTL ve Invalidation
- TTL:
5m - 15m
Invalidation tetikleri:
- cihaza authority eklendiğinde
- cihazdan authority kaldırıldığında
- authority pasif/aktif değiştiğinde
Çapraz Referanslar
/projects/qapu/services/redis/keyspace/authority-cache/projects/qapu/services/redis/keyspace/device-user-authz