Ho dati che passano da Kafka a MongoDB in tempo reale. Si tratta solo di dati non elaborati e vengono servite varie API utilizzando questi dati in tempo reale.
Le API rispondono utilizzando query di aggregazione. Tuttavia, quando i dati da aggregare sono grandi, il tempo di risposta dell'API è troppo alto.
Quale tecnologia o metodologia posso adottare per ottenere una bassa latenza per le risposte API?
Approccio attuale
Sto aggregando i dati utilizzando Spark Streaming in base al tipo di query effettuate dall'API. Ciò ha ridotto il tempo di risposta dell'API, ma i cambiamenti nelle query richiedono molto tempo per essere riflessi nei risultati dell'API poiché l'intero dato deve essere aggregato in base al nuovo tipo di query. Ma questo porta a tempi di fermo significativi. È questo l'approccio giusto. Se sì, come posso ridurre il tempo di inattività.