Répartition de charge sur 2 connexion pour de l'Upload

Répartition de charge sur 2 connexion pour de l'Upload - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 18-06-2008 à 15:24:10    

Salut,
 
 
Environnement :
 - Un serveur contenant 30-40 Go de fichiers
 - 2 connexions ADSL (rapides en D/L mais pas en U/L, normal...) chez 2 fournisseurs différents
 - Un routeur s'occupant des 2 connexions (une freebox d'un côté, une livebox de l'autre)
 - Un nom de domaine qui pointe vers Connexion1 (.fr par ex)
 - Un nom de domaine qui pointe vers Connexion2 (.com)
 
 
Le besoin : des gens viennent chercher des fichiers sur ce serveur (via un site en Php sous Apache).
Il faut répartir la charge pour optimiser l'upload, en le répartissant sur les 2 connexions.
 
 
Je sais qu'il y'a plusieurs pistes à suivre :
 - Du round robin sur le nom de domaine (et un seul), pour envoyer un coup un "client" vers la 1er connexion, puis le suivant sur la 2e
 - faire du reverse proxy ? Apache se charge de renvoyer vers l'IP de la connexion1 ou connexion2
 
 
 
Qu'en pensez vous ?
Comment feriez vous ?
 
Comment faire le round robin ? Doit on héberger le serveur DNS ou un fournisseur (Gandi, OVH, Infomaniak) est-il capable de le faire pour nous ?
 
Est-ce que ma vision du reverse proxy est bonne ?
 
 
 
Il nous est impossible d'héberger les fichiers sur un serveur loué par exemple.
 


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

Marsh Posté le 18-06-2008 à 15:24:10   

Reply

Marsh Posté le 21-06-2008 à 12:22:38    

Reply

Marsh Posté le 21-06-2008 à 15:22:47    

A mon avis la solution la plus simple à mettre en place est de type round robin.
Peut importe le fournisseur de service dns, je pense que tous permettent de mettre cela en place.
Tu auras juste à préciser tes différentes adresses ip disponibles pour l'url avec laquelle les clients vont se connecter.
 
Mais, on ne peut pas considérer cela véritablement comme de la répartition de charge, étant donné que le fait d'envoyer un client vers une adresse ip plutôt qu'une autre ne sera pas fait en fonction de la charge des liens.

Reply

Marsh Posté le 21-06-2008 à 19:40:56    

Ouaip, ce sera de l'aléatoire, mais ce sera suffisant.
 
Car j'imagine que le routeur qui gère les 2 liens ne peut pas envoyer 50% des paquets de chaque côté ?
Pour du surf, ce sera une GIF par ci, un JPG par là, etc. mais en U/L...


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

Marsh Posté le 23-06-2008 à 14:17:27    

Salut,
 
Une autre solution un peu plus complexe est d'utiliser une redirection via un script dynamique (PHP par exemple)
 
Le principe est le suivant :
- le client demande de téléchargement d'un fichier
- interroge la DB pour appliquer un choix logique
- redirige la browser sur la connexion 1, 2 ou N
 
Après la logique peut être du genre simplement une bascule connexion 1 ou 2 à chaque client qui fait une demande.
 
Mais aussi un temps estimé de téléchargement pour un fichier donné (taille / vitesse de la connexion en UL / nombre de clients sur cette connexion),  nettoyage des anciennes session, détermination de la connexion qui est la moins chargée, création d'une session dans la DB associée à une connexion, et redirection du client vers cette connexion.
 
Toute autre logique qui te semblerait bonne ;)
 
Pour les routeurs qui gèrent plusieurs lien à chaque connexion établie elle passe toujours par le même chemin (en général déterminé par coût le moins élevé). J'ai eu le cas de routeur qui à chaque requête utilisaient invariablement une ligne ou l'autre, mais plusieurs problèmes peuvent apparaître en particulier avec des pare-feu, des applications bancaires ou sécurisées car l'IP de l'émetteur change en fonction du FAI par laquelle elle passe (merci le NAT !).

Reply

Marsh Posté le 23-06-2008 à 23:56:57    

Pour le un script dynamique, ce serait mieux, oui.
Malheureusement, il faudrait modifier PhpWebGallery, et nous en sommes incapable (aucune connaissance en prog/dev).
 
 
Pour les 2 lignes : :jap:
 
 
(Requin :hello: )
 
:D


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed