Case Study

Nephtys

Un connettore real-time per stream di eventi live e integrazioni edge.

Progetto OSS attivo Go Streaming NATS JetStream gRPC Webhooks
Logo del progetto Nephtys

Anatomia del sistema

  1. Input

    • WebSocket / SSE feeds
    • Webhooks + gRPC streams
    • REST connector configs
    • Source credentials
  2. Core

    • Go service per connector
    • Event normalizer + middleware
    • NATS JetStream publisher
    • REST control plane
  3. Output

    • Durable JetStream subjects
    • Prometheus metrics
    • Grafana dashboards
    • Replayable event log
Vincoli
  • Restartable connectors
  • Explicit middleware order
  • Operable, not hidden
  • One event contract downstream

Perché esiste

Interfacce live come webhook, WebSocket, SSE e gRPC hanno tutte stranezze operative diverse, ma i sistemi downstream hanno comunque bisogno di un contratto di evento stabile. Nephtys esiste per la parte del lavoro streaming che è facile sottovalutare: i connettori devono essere configurabili, osservabili, riavviabili e abbastanza noiosi perché il resto della piattaforma possa fidarsi degli eventi che emettono.

Centro tecnico

Nephtys gestisce il ciclo di vita dei connettori, normalizza gli eventi in ingresso, li persiste su NATS JetStream ed espone una REST API in modo che la gestione degli stream sia operabile invece che hardcoded. Il design poggia su subject durabili, un ordine esplicito del middleware ed endpoint di gestione, così ogni connettore può essere trattato come unità operativa invece che come goroutine in background nascosta dentro un'applicazione.

Prove correnti

La storia operativa è già presente nel materiale pubblico: matrici dei connettori supportati, ordine del middleware, REST API di gestione, supporto a Prometheus e Grafana e un paper UIC 2026 che inquadra l'ingestion di sensori urbani come primo percorso concreto di valutazione. Questo rende il progetto più di una lista di connettori; è un piccolo control plane per trasformare interfacce live esterne in eventi che possono essere replayati, ispezionati e instradati downstream.