Progettazione di app Web: caching locale vs impegnativo

2

Sto scrivendo un'applicazione web in javascript che verrà pubblicata sul browser dei clienti. L'intento è che l'app appaia al client come un'applicazione monolitica, non una serie di pagine Web di aggiornamento interconnesse.

La mia domanda riguarda l'architettura comune. Per mettere in relazione la domanda, menzionerò una caratteristica specifica dell'app Web è un "tour"; quando il cliente fa clic su un pulsante con l'etichetta "tour", l'app web caricherà un div con un po 'sull'app stessa e su cosa può fare per l'utente. Ci sono due modi in cui questo può essere gestito, il browser client può recuperare il markup del tour dal server quando l'utente fa clic sul pulsante, o il server può scaricarlo (e tutte le altre funzionalità) quando l'app viene inizialmente scaricata.

Se cerco il tour su richiesta, quindi forse salverò la larghezza di banda della rete, dato che non tutti parteciperanno al tour, anche l'app sarà più piccola. Ma questo significa che per consentire a qualcuno di utilizzare app completamente la rete ci sarà più congestione della rete poiché ci sarà un altro colpo in rete per caricare il tour.

Se inizialmente utilizzo solo tutte le funzionalità, l'app è più grande, ma c'è meno congestione sulla rete perché, una volta scaricata, c'è meno necessità di accedere alla rete (a meno che non sia richiesta una nuova copia dell'app (es. se-Modified-Since).

Questa funzione "tour" non è in realtà il problema stesso, è solo un esempio per spiegare la mia domanda. Come bilanciare caching vs impegnativo nella progettazione di app Web?

    
posta Dave 24.04.2014 - 06:08
fonte

1 risposta

1

Quando inizi a discutere della memorizzazione nella cache, ci saranno molte opinioni. Nessuno al di fuori del tuo team di sviluppo sarà in grado di parlare in sicurezza della tua applicazione. Vorrei offrire alcune linee guida per aiutarti a prendere una decisione basata sui fatti.

Come abbattere l'applicazione

Avrai molti "contenitori" diversi su ogni pagina web. Questi potrebbero anche essere chiamati viste, segmenti, sezioni o qualsiasi altro numero di nomi. Le informazioni o le azioni eseguite in un contenitore sono quelle in cui si desidera iniziare a scomporre una pagina Web.

Cosa non memorizzare nella cache

Quando hai un contenitore (come nell'esempio del tour) che non verrà usato frequentemente, potresti non volerlo memorizzare nella cache in quanto si aggiungerà alle dimensioni della pagina e caricherà il tempo ogni volta che la pagina viene caricata o ricaricata. Anche se si tratta di una dimensione piccola, può sommare oltre milioni di visualizzazioni di pagina a una dimensione che potrebbe causare angoscia. Il carico ridotto sul server renderà il tuo sito web più performante.

Cosa memorizzare nella cache

Un contenitore che viene usato frequentemente è qualcosa che dovresti memorizzare nella cache. Supponiamo che tu abbia un sondaggio per ottenere informazioni dai tuoi utenti. Le domande del sondaggio non cambieranno durante una sessione in circostanze normali, quindi anche se cambi le domande che vengono visualizzate nel contenitore, la memorizzazione nella cache delle domande ti farà risparmiare larghezza di banda sul server. Aiuterà anche il rendimento della tua pagina.

    
risposta data 24.04.2014 - 06:42
fonte

Leggi altre domande sui tag