2010-11-15 6 views
0

J'ai un script PHP qui détermine le nombre d'utilisateurs sur chacun de mes serveurs et les saisit dans une base de données MySQL. Je veux que l'utilisateur soit redirigé vers la page avec le moins d'utilisateurs, défini par la base de données MySQL.Redirige les utilisateurs en fonction du trafic du serveur

Comment cela peut-il être fait?

Merci à l'avance, Callum

+3

Comment cela peut-il être fait? En écrivant le code pour le faire. Mais sérieusement, c'est un problème très non-trivial avec beaucoup de cas-limites à s'inquiéter. Je suggérerais plutôt de lire sur [Load Balancing] (http://en.wikipedia.org/wiki/Load_balancing), [Un article d'O'Reilly sur l'équilibrage de charge] (http://onjava.com/pub/a/ onjava/2001/09/26/load.html? page = 1), et plus que vous pouvez trouver via google ... – ircmaxell

+0

Il semble que vous avez tout ce qu'il faut et la bonne solution. Lire cette base de données, vérifier le seuil, ordonner par le serveur avec le moins de charge, émettre un en-tête de redirection. - Ou avez-vous essayé, avez-vous rencontré un problème spécifique, ou soupçonnez-vous une pierre d'achoppement dans votre approche? – mario

+0

@Callum Whyte - il y a beaucoup de matériel d'équilibrage de charge fiable et facile à configurer, dépensé le $$$, votre logique a un gros problème, 'vous essayez de réduire la charge en créant simplement une charge sur la base de données de vérification + complexe calcul + exécution de script ' – ajreal

Répondre

1

Vous pouvez utiliser une requête sur votre base de données qui trie sur le nombre d'utilisateurs.

SELECT ServerColumn FROM Table ORDER BY NumberOfUsersColumn ASC; 

Cela permettrait de récupérer les serveurs classés par leur serveur (tel que défini dans votre base de données).

En ce qui concerne la partie de redirection que vous pouvez jeter un oeil à http://php.net/manual/en/function.header.php

Et utiliser l'en-tête « Location ».

+4

Cette réponse fonctionnera en fonction de la description limitée de la question. Cependant, l'utilisation de MySQL pour l'équilibrage de charge me semble être du code malodorant ... Il existe de nombreuses méthodes plus efficaces. –

Questions connexes