Comment calculer la note du serveur de Jobs
Définissez l'offset de la caractéristique comme la différence entre la limite et la valeur réelle.
Offset{i}= |
value{i} - Max{i}, when value{i} > Max{i} |
0, when Min{i} < value{i} < Max{i} |
|
Min{i} - value{i}, when value{i} < Min{i} |
L'offset relatif est donné par l'offset divisé par la note :
rel_offset{i} = offset{i} / [ Max{i} - Min{i} ]
C'est une valeur positive.
La note du serveur est calculée en tant que somme pondérée de tous ses offsets relatifs, multipliée par un facteur de -100 :
rate = -100 Σ weight{i} x rel_offset{i}
À cette étape, la note est un nombre négatif non borné. Pour obtenir un nombre entre 0 et 100, la formule suivante est utilisée :
normalized rate = 100 / [ 1 - rate / scale ]
où scale = 2000.
L'échelle est un nombre arbitraire indiquant la sensibilité aux mauvaises valeurs. Une note normalisée égale à 100 signifie que le serveur est bon. Une note normalisée inférieure à 100 signifie que le serveur n'est pas bon. Plus basse est la note normalisée, moins le serveur est bon. Lorsque toutes les valeurs de caractéristiques se trouvent dans les intervalles attendus, la note est 0 et la note normalisée est 100.
Si l'espace disque requis est compris entre 1 et 2 Go et que l'espace disponible sur le disque est de 500 Mo, l'offset relatif est 1/2. Le poids étant de 8, la note normalisée sera 100/ [ 1 + 400/2000 ] = 83.33.
Le diagramme ci-dessous présente la manière dont la note évolue en fonction de l'espace disque disponible sur le serveur et pour deux poids différents (en supposant que toutes les autres caractéristiques du serveur soient comprises dans les limites définies).
La note du serveur est mise à jour toutes les 90 secondes, mais vous pouvez modifier cette fréquence en configurant la valeur du paramètre notification.conf.checking.frequencyCheckJobServerState.
Talend Administration Center liste les notes des serveurs en ordre décroissant, les vérifie une par une, de la note la plus haute à la plus basse afin de trouver le meilleur serveur, qui devrait contenir un Job déployé.