Lavoro in un sito simile a Foursquare e Yelp, con circa 100000 richieste uniche ogni settimana che generano contenuti, in costante crescita. Attualmente stiamo usando:
- Seam come framework web Java.
- MySQL come DB
- Ibernazione come ORM
- Sospendi la ricerca come indice
- EhCache per la memorizzazione nella cache.
Dal momento che il nostro sito sta lentamente uscendo dal setup corrente e ha un sacco di codice legacy, è tempo per noi di iniziare a pensare a un'importante modifica / modifica dell'impostazione.
-
Framework Web
Non siamo pronti a cambiare la lingua, ma ci stiamo orientando verso Spring Web Framework, poiché:
- Seam non c'è più.
- Quasi tutti noi abbiamo lavorato con Spring e mi è piaciuto.
-
DB e ORM
Abbiamo fatto una piccola ricerca e stiamo pensando a MongoDB.
-
Indice
Abbiamo bisogno di avere un indice separato se usiamo MongoDB?
-
Cache
Quindi la mia domanda è fondamentalmente:
Se prendi in considerazione Spring Web Framework e MongoDB, come sarebbe una buona installazione per un'applicazione web in crescita e gestisce un sacco di utenti che hanno effettuato il login generando input ed eseguendo ricerche?
Modifica Vorrei ringraziare tutti voi per aver trovato il tempo di rispondermi, ma la risposta che sto cercando dovrebbe essere più specifica:
"Scegliamo Spring come il nostro framework web e Freemarker come linguaggio template dal momento che freemarker è veloce .... Se usi MongoDB non avrai bisogno di un indice separato per fare ricerche geografiche da quando MongoDB supporta le query basate sulla localizzazione out-of-the-box ... Ho un'ottima soluzione cache per questa configurazione è ... Nel mio precedente progetto abbiamo scelto di usare < strong> Apache Solr come nostra piattaforma di ricerca perché questo risolve il problema con gli aggiornamenti rapidi ... "
Grazie // Jakob