Audit Consumatori Stream: positions:validated
Ecco l'analisi completa di quali microservizi consumano il flusso di dati validato e chi invece ne Γ¨ escluso.
β I Consumatori (Chi ascolta)β
Questi sono gli unici servizi che leggono dal canale positions:validated.
- π WebSocket Service (
websocket/config.py)- Scopo: Inviare la posizione in tempo reale all'app frontend (mappa, dashboard).
- ποΈ Positions Service (
positions/config.py)- Scopo: Salvare lo storico delle posizioni nel database PostgreSQL per i report e la cronologia.
- π¨ Events Service (
events/config.py)- Scopo: Analizzare la posizione per rilevare eccessi di velocitΓ , entrate/uscite recinti, e generare allarmi.
(Nota: Il Position Enricher Γ¨ il produttore di questo stream, quindi scrive ma non legge).
β Gli Esclusi (Chi ignora)β
Questi microservizi NON toccano questo flusso di dati.
Pipeline a Monte (Prima della validazione)β
- Decoder Service: Produce solo dati grezzi.
- Position Filter: Lavora solo sui dati grezzi (
positions:raw) per produrre quelli filtrati.
Servizi di Supporto/CRUD (Dati statici o altre funzioni)β
- Auth: Gestisce solo login/token.
- Devices: Gestisce l'inventario dispositivi (CRUD).
- Geofences: Gestisce i disegni delle aree (CRUD). La logica di controllo Γ¨ dentro Events.
- Sharing: Gestisce i link pubblici.
- Billing: Gestisce i pagamenti.
- Commands: Gestisce l'invio comandi ai dispositivi (flusso inverso o stream
commands). - Notification: Riceve ordini di notifica puntuali (probabilmente via HTTP o coda interna da Events), non ascolta tutto lo stream GPS.
- Client Logs: Solo log frontend.