Des données fiables au service
-
19-09-2019 - |
Question
Comment puis-je assurer mon service de fichiers est fiable et évolutive? Combien de demande parallèle, il peut gérer?
Je pense au-delà de la capacité matérielle et la largeur bande.
La solution
Si ce sont des fichiers statiques, un lien juste pour elle directement . Tous les servletcontainers / appservers décent ont un DefaultServlet
bien développé. Si ce sont des fichiers statiques situés l'extérieur l'webapplication où vous souhaitez les relier, alors vous pouvez simplement ajouter le dossier racine de ces fichiers comme un autre contexte. On ne sait pas quel serveur vous utilisez, mais si elle était Tomcat, vous pouvez simplement ajouter une nouvelle <Context>
à server.xml
:
<Context docBase="/path/to/static/files" path="/files" />
De cette façon, il est accessible par http://example.com/files/...
.
Si ceux-ci sont générées dynamiquement des fichiers ou des fichiers provenant d'une base de données, vous devez développer une servlet qui fait le travail IO efficacement: à savoir ne pas stocker inutilement l'ensemble des données dans la mémoire (par exemple dans un ByteArrayInputStream
ou byte[]
avant de les émettre à la sortie. il suffit d'écrire les octets immédiatement à la sortie comme il entre en jeu. Vous trouverez peut-être ce ces exemples de fileservlet de base et plus fileservlet avancée (CV support et ainsi de suite) utile.
Autres conseils
Si vous êtes servir des fichiers statiques à partir d'un système de fichiers il suffit d'utiliser Apache -. Ça va être mieux que tout ce que vous allez vous écrire