Stocker fichiers (images) sur plusieurs serveurs

Nouveau WRInaute
Bonjour,

Je développe un site qui nécessite un espace de stockage important.
Plusieurs milliers d'images seront stockées au fur et à mesure sur différents serveurs.

Pour faire ça je compte procéder de cette manière :

1. L'utilisateur upload une image via un formulaire (upload http).
2. Je génére via php (gd) plusieurs tailles de cette image.
3. Je les enregistre dans un dossier temporaire sur le disque du serveur où est executé le script.
4. Puis, je les transfert via ftp (avec les fonctions php -> ftp_connect etc) vers l'un des serveurs de stockage de fichiers en fonction de la disponibilité (de la place) de chacun.

Je voudrais savoir si certains utilisent cette méthode sur leur site pour pouvoir ajouter de l'espace de stockage au fur et à mesure.

Si c'est le cas, j'ai quelques questions :

- Le transfert par ftp étant effectué par un script php, y'a t'il un inconvénient de procéder ainsi ? Etant donné qu'à chaque upload d'un utilisateur, un transfert est fait vers un serveur distant. Problème de temps d'execution du script ? Limitation des connexions FTP vers le serveur distant ?

Beaucoup de gros sites qui hébergent des images (ou autre) m'ont l'air de faire comme cela :

http://images1.ndd.com
-> plus d'espace alors on stocke sur ->
http://images2.ndd.com
-> plus d'espace ainsi de suite ->
http://images3.ndd.com

J'en ai donc déduis qu'ils faisaient comme ça, un transfert via FTP, est-ce bien cette technique ?

Merci à vous.
 
WRInaute passionné
Hello,

à mon avis une grande partie du trafic ne concerne que les images "récentes" ; et dans ce cas avoir un serveur qui contient 600Go d'images non téléchargées alors qu'un autre serveur va contenir 300Go d'images téléchargées très fréquemment ne me semble pas hyper judicieux. Non ?

Je peux me tromper, mais je pense que comme pour certains clusters la répartition est plutôt faite en fonction d'un "hash".
 
Nouveau WRInaute
En fait je veux avoir l'espace de stockage dont j'ai besoin au fur et à mesure. Le premier disque est plein, la suite des images est hébergée sur le suivant etc. Le transfert via FTP, sur des serveurs distants, est le seul moyen (peu couteux) que j'ai trouvé. Tu penses qu'il existe d'autres solutions ? Merci.
 
Nouveau WRInaute
Salut,

une sorte de Casimages donc ? :eek:

Pour le transfert massif des images, le souci qui pourrait se produire c'est la déformation des images (fragmentés plutôt)... J'avais déjà eu le coup en voulant trnaférer une trentaine d'image seulement sur mon FTP, la plupart subissait une mutation... Mais bon ce n'est peut-être pas le même contexte, est aussi une question de logiciel utilisé (Filezilla dans mon cas)
 
WRInaute passionné
Je n'ai pas du tout évoqué le transfert FTP. Même si perso j'utiliserais autre chose (rsync via SSH par exemple), ça reste "valable".

Ce sur quoi je ne suis pas d'accord c'est la répartition "chronologique" sur les sous domaines.
Perso dès le départ je répartirais sur N sous domaines, quitte à ce qu'ils pointent tous sur le même serveur. Mais au moins ça t'évite d'avoir à terme 90% du trafic concentré sur un seul serveur, et les autres serveurs qui glandent.
 
Nouveau WRInaute
Merci pour vos réponses.
Anthemon, pour la fragmentation, je ferais donc des tests et voir si les images sont correctement tranferées.
Bool, je comprends mieux ce que tu veux dire. Effectivement, tu n'as pas tort, je vais voir si je peux répartir directement sur plusieurs sous domaines pour équilibrer la charge.
Pour Rsync, j'avoue ne pas maitriser suffisament ce protocole. Est-ce difficile à mettre en place dans un script php ?
 
Discussions similaires
Haut