Questa è una domanda di intervista: progettare un back-end distribuito per il completamento automatico.Back-end per completamento automatico
vorrei rispondere come segue:
completamento automatico è una ricerca in un dizionario da un determinato suffisso. Probabilmente il dizionario dovrebbe essere organizzato come trie. Il dizionario è costruito dalle domande più frequenti, ma è un'altra storia.
Ora presumo che il dizionario non venga modificato di frequente (ad esempio una volta al giorno anziché ogni millisecondo). Quindi possiamo semplicemente replicare il dizionario su un numero di server che gestiscono le query di completamento automatico (ad esempio con un bilanciamento del carico e un criterio round-robin).
Dovremmo anche pensare al dizionario ma questa è anche un'altra storia.
Ha senso? Mi sto perdendo qualcosa?
domande Architettura dovrebbe davvero essere chiesto a lei e: http://programmers.stackexchange.com/ Non mi interessa davvero, ma alcuni lo fanno. –