Skip to main content

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.

  1. πŸ”Œ WebSocket Service (websocket/config.py)
    • Scopo: Inviare la posizione in tempo reale all'app frontend (mappa, dashboard).
  2. πŸ—„οΈ Positions Service (positions/config.py)
    • Scopo: Salvare lo storico delle posizioni nel database PostgreSQL per i report e la cronologia.
  3. 🚨 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.