Ho un'applicazione in cui l'utente acquista / fa clic sui determinati prodotti. Ho bisogno di progettare l'analisi del flusso dei clic qui su quale prodotto è stato fatto clic sul numero di volte, l'utente / i dettagli geografici fanno clic sui prodotti
Ecco il design che sto pianificando
- Ogni volta che l'utente fa clic sul prodotto, genera la chiamata asincrona per produrre il messaggio in coda
- Sto pensando di utilizzare il broker di messaggi distribuiti e ho selezionato Kafka per il modello distribuito e le prestazioni. Il mio carico è da 100 a 150 richieste al secondo.
- Utilizza il modulo di streaming spark di Apache per elaborare in parallelo il messaggio dalla coda e memorizzarlo in un DB basato su documenti, ad esempio MongoDB. Ho selezionato il Mongo come non ho requisito relazionale qui e probabilmente lungo la linea potrei usare Sharding quando i dati diventeranno grandi.
Fammi sapere se il mio design / stack tecnologici sembra buono? Se non dove può essere migliorato.