Utilisez l'équilibrage de charge reposant sur des règles pour affiner l'envoi des paquets aux serveurs. Load Balancer examine toutes les
règles que vous avez ajoutées, de la première à la dernière règle de priorité, en s'arrêtant sur celle qui lui semble vraie, puis en équilibrant la
charge du trafic entre tous les serveurs associés à cette règle. Il équilibre déjà la charge en fonction de la destination et du port,
mais l'utilisation des règles permet de développer sa capacité à répartir les connexions.
A propos de cette tâche
Dans la plupart des cas, lors de la configuration des règles,
vous devez configurer une règle toujours vraie par défaut afin d'intercepter toutes les demandes transmises par d'autres règles de priorité
de niveau supérieur. Cette règle par défaut peut être une réponse "Le site est actuellement en travaux, veuillez faire une nouvelle
tentative ultérieurement" lorsque tous les autres serveurs ne renvoient pas de réponse au client.
Toutes les règles portent un nom, un type, une priorité et peuvent comporter une valeur de début et de fin ainsi qu'un ensemble
de serveurs. Les règles sont évaluées dans l'ordre de leur priorité. Une règle de priorité 1 (nombre moins élevé) est évaluée avant une règle
de priorité 2 (nombre plus élevé). La première règle satisfaite est utilisée. Lorsqu'une règle est satisfaite, aucune autre règle n'est évaluée. Pour qu'une règle soit
satisfaite, deux conditions doivent être remplies :
- Le prédicat de la règle doit être vrai. En d'autres termes, la valeur qu'elle évalue doit être comprise entre les valeurs de début et de
fin ou le contenu doit correspondre à l'expression régulière spécifiée dans le modèle de la règle. Pour les règles de type "true,"
le prédicat est toujours satisfait, quelles que soient les valeurs de début et de fin. Si une règle n'est associée à aucun serveur, elle doit simplement
répondre à cette première condition pour être satisfaite. Dans ce cas, Load Balancer supprime la demande de connexion.
- Si des serveurs sont associés à la règle, la pondération de l'un d'eux au moins doit être supérieure à 0 pour transmettre des paquets, de sorte que
Load Balancer dispose d'un serveur vers lequel transmettre les connexions.
Si une demande de connexion ne satisfait aucune règle, Load Balancer sélectionne un serveur dans l'ensemble de serveurs disponibles sur le port.
- Configurez une règle reposant sur le nombre total de connexions actives.
Vous pouvez utiliser des règles reposant sur le nombre total de connexions actives sur un port si vos serveurs sont
surchargés et ne traitent plus les paquets. Certains serveurs Web continuent d'accepter des connexions même s'ils ne disposent pas de suffisamment d'unités d'exécution
pour répondre à la demande. Par conséquent, les demandes du client dépassent le délai d'attente et le client visitant votre site Web n'est pas pris
en charge. Vous pouvez utiliser des règles reposant sur des connexions actives afin d'équilibrer la capacité dans un pool de serveurs. Par exemple,
vous savez d'expérience que vos serveurs s'arrêtent après avoir accepté 250 connexions.
Configurations prises en charge : le gestionnaire doit fonctionner pour pouvoir exécuter les règles.
sptcfg
Créez une règle à l'aide de la commande dscontrol rule. Ensuite, ajoutez à la règle vos serveurs en cours et des serveurs supplémentaires,
qui vont sinon être utilisés pour d'autres processus. Par exemple : dscontrol rule add 130.40.52.153:80:pool2 type active beginrange 250 endrange 500
- Créez une règle toujours évaluée comme vraie. Une règle de ce type est toujours
sélectionnée, sauf si tous les serveurs qui lui sont associés sont arrêtés. Par conséquent, cette règle est en principe définie sur une priorité plus
basse que les autres règles Vous pouvez disposer de plusieurs règles "toujours vraies", chacune associée à un ensemble de serveurs. Load Balancer
fait son choix en fonction de la première règle vraie et de la disponibilité de son serveur.
Supposons par exemple que vous disposiez de six serveurs. Vous
souhaitez que deux d'entre eux traitent votre trafic dans toutes les circonstances, sauf s'ils sont arrêtés. Si les deux premiers serveurs sont arrêtés,
vous souhaitez qu'un deuxième ensemble de serveurs traite le trafic. Si quatre de ces serveurs sont arrêtés, vous utilisez les deux derniers pour traiter
le trafic. Vous pouvez configurer jusqu'à trois règles "toujours vraies", le premier ensemble de serveurs étant toujours choisi tant que l'un d'eux au moins
est actif. Si les deux serveurs sont arrêtés, un serveur du deuxième ensemble est choisi, et ainsi de suite.
Vous pouvez également configurer une règle "toujours vraie" pour vous assurer que les clients entrants ne satisfaisant aucune règle définie ne soient
pas pris en charge. Ensuite, vous n'ajoutez aucun serveur à la règle, les paquets du client étant ainsi supprimés sans réponse. Vous pouvez
définir plusieurs règles "toujours vraies", puis définir celles qui vont s'exécuter en modifiant leur niveau de priorité.
Créez une règle à l'aide de la commande dscontrol rule : dscontrol rule add 130.40.52.153:80:jamais type true priority 100
Il n'est pas utile de définir des valeurs de début et de fin lors de la création d'une règle toujours vraie.
- Ajoutez un ou plusieurs serveurs à un jeu de règles. Vous pouvez utiliser la commande dscontrol rule useserver pour
ajouter un ou plusieurs serveurs à un jeu de règles déjà défini. Par exemple :
dscontrol rule useserver 130.40.52.153:80:jamais serveur1
dscontrol rule useserver 130.40.52.153:80:jamais serveur1+serveur2+serveur3