Domanda

Sono in procinto di avviare un progetto che spero sarà un giorno richiederà la capacità di ridimensionamento. La questione chiave per me è: dovrei investire lo sforzo di progettare per questa eventualità ora, o devo attraversare quel ponte quando mi arriva

So come vanno queste cose:. Ognuno pensa che il loro progetto potrebbe scalare, ma la maggior parte dei progetti non fare

C'è un insieme di best practice che vi permetterà di scalare più facilmente in una fase successiva, pur non investire troppo in qualcosa che non può mai essere necessaria?

Ovviamente non ho alcuna esperienza con i siti web scalabili. Attualmente sto appoggiato verso Scala / Play! / Akka. Da quello che posso raccogliere dal sito Akka, è molto adatto per questo tipo di progetto (in quanto fornisce una serie di strumenti che permette lo sviluppo su una singola macchina e scalabilità ad un numero arbitrario di macchine).

Il progetto è un sito web consumer-facing che coinvolge un po 'di interazione con l'utente (commenti, messaggi, votazioni, ecc). L'obiettivo principale è editoriale, però. Non è Facebook:)

Non essendo vissuta in una qualsiasi di queste tecnologie (la mia esperienza provenienti soprattutto da PHP, AS3, Objective-C), probabilmente ho un po 'troppo sul mio piatto in questo momento. Ma poi non ho intenzione di andare a subito. Sono consapevole che ho bisogno di fare esperienza con Scala e Play! prima.

Ogni consiglio è molto apprezzato.

È stato utile?

Soluzione

Inizia con la semplice progettazione si modella, unit test di compilazione per questo e quindi impostare il livello di presentazione su di esso. Fino a quando il vostro modello è ragionevole, sarà facile per scalare Play out a qualsiasi numero di macchine. Se si va per la configurazione in supporto JPA, si può sempre fare i conti con la questione di quale DB di andare per.

avete cose più grandi nel piatto per il momento. Quindi, basta assicurarsi che il vostro disegno è coerente e sensibile, quindi il ridimensionamento non sarà un problema.

Altri suggerimenti

Hai un vantaggio iniziale utilizzando un framework web senza stato come Play! che non sarà possibile ottenere nel modo in cui è necessario scala. Come dice ExxKA, mantenere il vostro modello pulito e ragionevole. Questo vi aiuterà a mantenere il vantaggio di complessità.

Non lo considero un fallimento quando si ha bisogno di refactoring il codice - o anche riscrivere parti importanti di esso. Questa è una parte naturale di un progetto che cresce, come un serpente spargimento sua pelle.

Ci sono inevitabilmente le cose che imparerete nel processo di scrittura del progetto, in modo da non cercare di anticipare tutti in questo momento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top