0

J'ai un système de gestion de contenu fonctionnant sur un serveur Web, qui permet entre autres à l'utilisateur de télécharger des éléments tels que des images, des fichiers, etc. sur le serveur. Le problème que j'ai est qu'il y aura 2 serveurs fonctionnant derrière un équilibreur de charge et j'essaye de trouver un moyen efficace de manipuler la gestion d'actifs.Gestion des actifs dans un environnement en cluster

La question que j'est:

Est-ce que les actifs soient téléchargés sur un serveur à chaque fois? Ou est-il possible que les images/fichiers se retrouvent dans server1 ou server2 en fonction de la charge?

Comment servir les images si je ne sais pas sur quel serveur elles se retrouvent? Devrai-je conserver les répertoires de ces assets (images/fichiers) synchronisés entre les deux serveurs?

Merci,

+0

Vous avez deux serveurs servant votre application, mais qu'en est-il où les données sont stockées - est stocké dans un emplacement partagé ou deux séparés magasins? –

+0

En ce qui concerne la base de données, un serveur de base de données sera utilisé. – Andreas

+0

Vous avez suggéré d'utiliser des fichiers et des images et de les synchroniser, mais vous mentionnez maintenant une base de données? vous devez vraiment clarifier ce que vous essayez de faire. –

Répondre

1

La synchronisation est un problème difficile à céder. Vous pouvez faire une synchronisation ad-hoc en utilisant Couchdb mais cela nécessite une bonne connaissance des problèmes de bas niveau. Par conséquent, vous devez choisir un maître d'écriture.

DRDB

Vous pouvez regarder DRDB: D Utiliser un serveur en écriture maître et l'autre comme esclave. Ensuite, vous pouvez le contenu du serveur à la fois. Cette approche est incroyable pour les paires de bases de données.

Note: seperating votre code et URL pour l'écriture maître et servir seulement sera anoying

CouchDB

Vous pouvez utiliser couchdb mais je pense que cela pourrait être surpuissant. C'est pour les grandes quantités de données et les hauts niveaux de tolérance aux pannes.

NFS

Vous pouvez exporter le répertoire des actifs sur le maître-écriture en tant que lecteur nfs et l'importer de l'autre ordinateur. Mais dans ce cas, il ne serait pas équilibré dans tous les cas, c'est-à-dire uniquement si les fichiers sont mis en cache par l'esclave. Vous pourriez utiliser un troisième ordinateur en tant que serveur NFS - cela vous permettrait d'évoluer vers davantage de serveurs Web.

Un serveur NFS central pourrait bien être votre meilleure solution comme vous pouvez le faire sans un maître d'écriture car chaque serveur frontal peut effectuer des écritures. C'est l'approche que j'utiliser à moins que je ne pense à dépasser la plage de péta-octets: P

Questions connexes