Domanda

Come posso essere sicuro che il mio servizio di file è affidabile e scalabile? Quante parallela richiesta può gestire?

Sto pensando oltre la larghezza capacità hardware e di banda.

streaming di grandi dimensioni in un servlet Java

È stato utile?

Soluzione

Se questi sono i file statici, basta collegare ad esso direttamente . Tutti decenti servletcontainers / appservers hanno un DefaultServlet ben sviluppato. Se questi sono i file statici situati fuori il webapplication da cui ci si collega a loro, allora si può anche aggiungere appena la cartella principale di questi file come un altro contesto. Non è chiaro quale server si sta utilizzando, ma se si trattasse di Tomcat, appena si potrebbe aggiungere un nuovo <Context> a server.xml:

<Context docBase="/path/to/static/files" path="/files" />

In questo modo è raggiungibile con http://example.com/files/....

Se questi sono dinamicamente i file o file provenienti da un database generato, allora avete bisogno di sviluppare una servlet, che fa il lavoro IO efficiente: cioè non fanno inutilmente memorizzare tutti i dati in memoria (ad esempio, in un ByteArrayInputStream o byte[] prima di loro emettono all'uscita. Basta scrivere i byte immediatamente per l'uscita non appena entra in gioco. si possono trovare questi quegli esempi di un fileservlet base e una più advanced fileservlet (supporto riprende e così via) utili.

Altri suggerimenti

Se sono solo servendo file statici da un file system basta usare Apache -. Che sarà meglio allora tutto quello che scriverete voi stessi

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