Devo creare un servizio web REST per gestire le immagini inviate dall'utente e mostrarle tutte in un sito web. Esistono più siti Web che utilizzeranno questo servizio per gestire e visualizzare le immagini. I requisiti devono avere 5 dimensioni dell'immagine predefinite disponibili.
Le 2 opzioni che vedo sono le seguenti:
-
Il servizio Web creerà le 5 immagini, le memorizzerà nel file system e memorizzerà gli URL nel database quando l'utente invia l'immagine. Quando viene richiesta l'immagine, il servizio Web restituirà un array di URL.
Vedo questa opzione essere un po 'dura sul disco rigido. Le stime sono 10.000 utenti per sito e diciamo, 100 siti. L'elaborazione pesante verrà eseguita quando l'utente invia l'immagine e ogni immagine verrà estratta dal File System.
-
Il servizio Web memorizzerà solo l'immagine che l'utente invia nel file system e il suo URL nel database. Quando l'utente richiede immagini, il servizio Web otterrà le informazioni dal DB, caricherà l'immagine in memoria, creerà le sue 5 istanze e restituirà un oggetto con 5 array di immagini (probabilmente memorizzerò gli array nella cache).
Questa opzione è più difficile sul processore e sulla memoria. L'elaborazione pesante verrà eseguita quando vengono richieste le immagini.
Un plus che vedo per l'opzione 2 è che mi darà la possibilità di riscrivere l'URL dell'immagine e renderlo dipendente dal sito (più carino) di avere un repository di immagini per tutti i siti web. Ma questo non è un grosso problema.
Cosa ne pensi di queste opzioni? Hai altri suggerimenti?