Voglio implementare un servizio lambda
che mi fornirà nomi casuali (generati usando pattern, alcuni valori codificati e così via) dalla richiesta GET.
Per la generazione dei nomi, uso solo la serie di morfemi preparati, parole piccole e così via. Per creare un nome, seleziono casualmente parte della parola, concatalo e restituisco il risultato. Ad esempio:
const nm1 = ["Cor", ...,"D",...]
const nm2 = ["aea", ..., "osse",..]
return nm1[random1] + nm2[random2];
Successivamente in un'altra applicazione (in esecuzione su Elasticbeanstalk), memorizzo questo nome in Amazon RDS.
Tuttavia ho un paio di domande.
- Dove posso memorizzare queste costruzioni di parole parziali? Alcuni database relazionale (RDS), nessun sql (DynamoDB per esempio), alcuni storage a valori-chiave? Per ora mi limito a mantenere le costanti nei miei file
js
. - Come devo verificare la coerenza, ad esempio che il nome esiste già (mentre li memorizzo in un'altra applicazione)? Dovrei controllarlo nel servizio Lambda? O dovrei farlo nell'applicazione Elasticbeanstalk?
- Devo utilizzare qualche memoria con valori-chiave per il controllo di coerenza? Memorizzo i nomi in una tabella relazionale di base, ma potrebbe non essere buono interrogarli costantemente per verificare i nomi ...
Come per le metriche che seguono le domande @rwong
- Tutti i nomi dovrebbero essere unici per tutti gli utenti. Ad esempio, puoi confrontarlo con nomi di paesi del mondo.
- Il numero di utenti è - beh al massimo 10 (non posso permettermi costosi carichi di lavoro enormi ma voglio comunque utilizzare alcune tecniche efficaci). Implemento l'applicazione per me stesso e mentre aw-tier libero è ancora disponibile per me.
- Il numero di combinazioni è ~ 777k per un generatore di nomi (per ora). (due set con 288 e 270 valori e il terzo con 10 voci)
- Per ora l'avvio a freddo ha richiesto < 1s. E tutte le altre esecuzioni hanno richiesto meno di ~ 50ms. Io uso
node.js
quindi abbassa leggermente l'avvio a freddo per quanto mi ricordo. - Non ho provato ad utilizzare alcun DB lì, ecco perché sto chiedendo cosa dovrei usare.