Redis
 sql >> Database >  >> NoSQL >> Redis

Architettura di microservizi per l'accesso ai dati ad alta frequenza; nelle soluzioni di memoria?

Ora discutiamo un'architettura di microservizi per il problema, a causa della scalabilità necessaria dell'applicazione in produzione. Anche ai fini dello sviluppo, questo è fondamentale, perché Task1 e Task2 sono stati aggiunti di recente a nuove funzionalità/parametri e scalano in modo diverso durante lo sviluppo.

Questo è esattamente ciò che sta facendo bene una piattaforma di elaborazione del flusso. Consiglio di utilizzare un sistema come Apache Kafka o Apache Pulsar per questo problema.

Dovrebbero esserci almeno due servizi diversi per Task1 e Task2 e forse anche uno per l'effettivo controllo dello stato di iterazione/simulazione?

Task1 e Task2 sono quelli che vengono chiamati processori di flusso , leggono (si iscrivono a) un argomento , eseguendo alcune operazioni/trasformazioni e scrivendo (pubblica) su un altro argomento .

La domanda principale qui è:quali sono gli argomenti per un'architettura di microservizi a causa del collo di bottiglia probabilmente di comunicazione/rete? L'unico modo per accelerare è generare tutti i dati necessari per l'attività di simulazione in memoria e mantenerli lì tutto il tempo, per evitare il collo di bottiglia della rete?

Ancora una volta, questo è esattamente il problema che un sistema come Apache Kafka o Apache Pulsar sta facendo bene. Per scalare scrive e legge in un sistema di elaborazione del flusso, puoi partizionare i tuoi argomenti .