Async Queue ve Worker Akışı
Ingestion hattını yormamak için sentez ve window hesapları asenkron worker’lara ayrılır.
Redis Kuyrukları
synth_queuewindow_queuedead_letter_queue(öneri)
Mesaj İçeriği (son karar)
Minimal payload kullanılır:
stream_iddevice_id
(Tam ham verinin queue’da taşınmaması kararlaştırılmıştır.)
Worker Pipeline
- Ham segment upsert tamamlanır.
synth_queueya iş bırakılır.synth_workerham segmentleri DB’den okur, synth hesaplar,energy_measurements_synthupsert eder.- Başarılıysa
window_queueya iş bırakır. window_workerfixed + rolling pencereleri günceller,energy_windowsupsert eder.- Hata olursa retry/backoff, limit aşarsa DLQ.
Dayanıklılık Kuralları
- idempotent upsert zorunlu
- dedupe/lock zorunlu
- retry politikası merkezi
- Redis cache hız katmanı, doğruluk kaynağı DB