2009-09-26 10 views
10

Ho appena trasferito un mio progetto per i casi di test in azzurro di Microsoft.Dove archiviare oggetti come le immagini dell'utente tramite Azure? Archiviazione BLOB?

Ma per funzionalità simili a un caricamento di avatar ho bisogno di accedere in scrittura ai file sul disco rigido. Ma questa è una nuvola, quindi non è possibile. Come posso invece costruire tali funzionalità? Dovrei usare il Blob Storage o c'è una soluzione migliore?

Ha senso memorizzare tutte le immagini del sito Web (ad esempio immagini di layout) in Archiviazione BLOB? Quindi avrei un dominio senza cookie per il mio contenuto statico?

+0

E a proposito di BLOB rispetto a una tabella SQL Azure? –

risposta

11

Lo storage blob è sicuramente il luogo in cui inserire immagini dinamiche come gli avatar. Mentre puoi scrivere sul disco sulla VM su cui stai correndo, non puoi fare affidamento su questo per essere presente - se la tua app viene spostata su un'altra macchina (cosa che potrebbe accadere per un numero qualsiasi di ragioni) questa memoria essere cancellato.

Una cosa che si potrebbe fare è archiviare le immagini nella memoria BLOB e memorizzarle nella cache sul disco VM locale (utilizzando i meccanismi IO standard del file). In questo modo otterrai prestazioni piuttosto buone e risparmierai su alcune transazioni di archiviazione, assicurandoti allo stesso tempo che non ti stia immagazzinando in una memoria volatile.

Se hai immagini statiche che saranno completamente statiche, queste sono solo in bundle con l'applicazione e possono essere referenziate come un normale file. Tuttavia, se sarà necessario cambiarli, sarà necessario ridistribuire l'applicazione, quindi utilizzare questa tecnica solo per immagini che non dovranno essere modificate.

0

"Ha senso memorizzare tutte le immagini del sito Web (ad esempio le immagini di layout) nel Blob Storage? Quindi avrei un dominio senza cookie per il mio contenuto statico?"

Sì, penso di sì - questo è quello che sto uscendo proprio adesso.

5

Si noti che ci sono two types of Blobs in Windows Azure: BLOB di blocchi e BLOB di pagine. I BLOB di blocchi sono appropriati per la pubblicazione di file multimediali, mentre i BLOB di pagina sono ottimizzati per altri modelli di lavoro.

Considerare inoltre l'uso di Azure Content Distribution Network (CDN) per ridurre la latenza ai client.

Azure ha anche funzionalità di streaming che funzionano di concerto con Silverlight Smooth Streaming (http://blog.smarx.com/posts/smooth-streaming-with-windows-azure-blobs-and-cdn se interessati).

Problemi correlati