Sto creando un server in Java (anche se questa domanda è indipendente dal linguaggio) che farà quanto segue:
- Estrarre un set di "lead" da un database ogni 10 minuti
- Per tutti i lead con un determinato indicatore, utilizza un database diverso per ottenere ulteriori informazioni
- Per ogni lead che ha effettivamente dati rilevanti nel database n. 2, combina i dati di due origini dati e passa ad alcuni algoritmi di Machine Learning (ML)
- Memorizza i risultati degli algoritmi ML nel Database # 1
Sono confuso sul modo migliore per organizzarlo. Dopo aver esaminato questa domanda pertinente , penso che lo schema del repository possa far parte della soluzione ma non penso che soddisfi tutti i requisiti. In particolare, penso che ogni "lead" dovrebbe essere elaborato nella sua stessa discussione, ma mi piacerebbe utilizzare un pattern che mi consenta di utilizzare pool di thread memorizzati nella cache.
Sebbene possano esistere specifiche classi o librerie Java che possono essere utili, ho contrassegnato la questione in modo agnostico poiché ritengo che la risposta alla domanda sia la migliore, suggerendo uno o più modelli. Ritornerò di conseguenza se la comunità non è d'accordo.