Cela peut également être une question pour serverfault, mais cela inclut également des rubriques d'ici.Mise à l'échelle des systèmes de fichiers
Je construis un nouveau site Web composé de 6 serveurs. 1 mysql, 1 web, 2 serveurs de traitement de fichiers, 2 serveurs de fichiers. En bref, les serveurs de traitement de fichiers traitent les fichiers et les copient sur les serveurs de fichiers. Dans ce cas, j'ai deux options;
Je peux configurer un serveur Web pour chaque serveur de fichiers et servir les fichiers directement à partir de là. Comme, fichier1.domain.com/fichier.zip. Certains fichiers (pas tous) auront besoin d'une authentification, donc je vais authentifier les utilisateurs via memcache à partir de ces serveurs. 90% des demandes n'auront pas besoin d'authentification.
Ou je peux configurer NFS et servir des fichiers directement à partir du serveur Web, comme www.domain.com/fileserve.php?id=2323 (c'est un exemple de base)
Comme le projet est fortement basé sur la fichiers, la deuxième option pourrait ne pas être aussi efficace que la première option, car elle consommera plus de mémoire (même si je divise les fichiers en morceaux pendant le service)
La configuration restera la même pendant longtemps, donc nous avons gagné ' t ajouter de nouveaux serveurs de fichiers dans l'installation.
Quelles sont vos idées, laquelle est la meilleure? Ou une idée différente?
Merci à l'avance,
Ce serait généralement mon choix, aussi. Juste une mise en garde: s'il vous plaît soyez prudent, votre futur soi et/ou vos successeurs vous remercieront! Il est ennuyeux de se retrouver avec des dégâts désagréables et difficiles à maintenir si vous ne faites pas attention à la conception de règles telles que les règles de proxy et de réécriture. –
Désolé pour ma question car je n'ai pas configuré de proxy inverse pour les serveurs web. Donc, voulez-vous dire que je ne vais pas configurer quelque chose comme NFS, quand quelqu'un demande www.domain.com/file.zip, il va transmettre la requête à file1.domain.com/file.zip, directement à partir du protocole HTTP. Je connais théoriquement cette conception et je voudrais la pratiquer en utilisant nginx comme proxy inverse, mais je me demande quels sont les handicaps de ce design, surtout du point de vue de la mémoire. Comment cela va affecter la consommation de mémoire sur le serveur web (les serveurs de fichiers consommeront la même mémoire que la première option je suppose) – murat
@murat Je pense que vous le dites, mais la requête HTTP n'est pas protégée mais plutôt diffusée à travers le proxy inverse avant. Vous n'encourez donc pas NFS mais HTTP sur le réseau. Vous pouvez également faire des trucs comme décharger la compression GZIP sur le serveur web avant. La consommation de ressources que je n'imaginerais pas serait pire que le service NFSoTCP. La plupart des proxys inversés diffusent les données en continu en passant des en-têtes et tout en analysant éventuellement le retour, mais si vous servez des binaires, cela n'aurait aucune conséquence. – Xailor