ChaosParameters
Définit tous les paramètres pour configurer une exécution Chaos.
Propriétés
Nom | Type | Obligatoire |
---|---|---|
TimeToRunInSeconds |
string | Non |
MaxClusterStabilizationTimeoutInSeconds |
entier (int64) | Non |
MaxConcurrentFaults |
entier (int64) | Non |
EnableMoveReplicaFaults |
boolean | Non |
WaitTimeBetweenFaultsInSeconds |
entier (int64) | Non |
WaitTimeBetweenIterationsInSeconds |
entier (int64) | Non |
ClusterHealthPolicy |
ClusterHealthPolicy | Non |
Context |
ChaosContext | Non |
ChaosTargetFilter |
ChaosTargetFilter | Non |
TimeToRunInSeconds
Type : chaîne
Obligatoire : Non
Par défaut : 4294967295
Durée totale d’exécution (en secondes) de Chaos avant son arrêt automatique. La valeur maximale autorisée est de 4 294 967 295 (System.UInt32.MaxValue).
MaxClusterStabilizationTimeoutInSeconds
Type : integer (int64)
Obligatoire : Non
Par défaut : 60
InclusiveMaximum : 4294967295
InclusiveMinimum : 0
Délai d’attente maximal avant que toutes les entités de cluster ne se stabilisent et deviennent saines. Chaos s’exécute en itérations, et au début de chaque itération, il valide l’intégrité des entités de cluster.
Lors de la validation, si une entité de cluster n’est pas stable et intègre dans le délai spécifié par MaxClusterStabilizationTimeoutInSeconds, Chaos génère un événement d’échec de validation.
MaxConcurrentFaults
Type : integer (int64)
Obligatoire : Non
Par défaut : 1
InclusiveMaximum : 4294967295
InclusiveMinimum : 0
MaxConcurrentFaults est le nombre maximal d’erreurs simultanées induites par itération.
Chaos s’exécute en itérations, deux itérations consécutives étant séparées par une phase de validation.
Plus la concurrence est élevée, plus l’injection d’erreurs est agressive, ce qui conduit à induire des séries d’états plus complexes pour détecter des bogues.
Il est recommandé de démarrer avec une valeur de 2 ou 3 et de faire preuve de prudence lors de l’augmentation de cette valeur.
EnableMoveReplicaFaults
Type : booléen
Obligatoire : Non
Par défaut : true
Active ou désactive les erreurs principales et secondaires de déplacement.
WaitTimeBetweenFaultsInSeconds
Type : integer (int64)
Obligatoire : Non
Par défaut : 20
InclusiveMaximum : 4294967295
InclusiveMinimum : 0
Temps d’attente (en secondes) entre les erreurs consécutives au sein d’une seule itération.
Plus la valeur est grande, plus le chevauchement entre les erreurs est faible et plus la séquence de transitions d’état dont fait l’objet le cluster est simple.
Il est recommandé de démarrer avec une valeur comprise entre 1 et 5 et de faire preuve de prudence lors de l’augmentation de cette valeur.
WaitTimeBetweenIterationsInSeconds
Type : integer (int64)
Obligatoire : Non
Par défaut : 30
InclusiveMaximum : 4294967295
InclusiveMinimum : 0
Temps d’attente (en secondes) entre deux itérations consécutives de Chaos.
Plus la valeur est grande, plus le taux d’injection d’erreurs est faible.
ClusterHealthPolicy
Type : ClusterHealthPolicy
Obligatoire : Non
La stratégie d’intégrité du cluster passée est utilisée pour valider l’intégrité du cluster entre les itérations Chaos. Si l’intégrité du cluster est en erreur ou si une exception inattendue se produit pendant l’exécution d’une erreur, pour fournir au cluster un certain temps de récupération, Chaos attendra 30 minutes avant la prochaine case activée d’intégrité.
Context
Type : ChaosContext
Obligatoire : Non
Décrit une carte, qui est une collection de paires clé-valeur de type (chaîne, chaîne). La carte peut être utilisée pour enregistrer des informations relatives à l’exécution de Chaos. Il ne peut pas y avoir plus de 100 de ces paires et chaque chaîne (clé ou valeur) peut comporter au maximum 4095 caractères.
Ce mappage est défini par le démarrage de l’exécution de Chaos afin d’éventuellement stocker le contexte de l’exécution spécifique.
ChaosTargetFilter
Type : ChaosTargetFilter
Obligatoire : Non
Liste des entités de cluster à cibler pour les erreurs Chaos.
Ce filtre peut être utilisé pour cibler les erreurs de Chaos seulement sur certains types de nœuds ou certaines instances d’application. Si ChaosTargetFilter n’est pas utilisé, Chaos provoque des erreurs sur toutes les entités de cluster.
Si ChaosTargetFilter est utilisé, Chaos provoque uniquement des erreurs sur les entités qui répondent à la spécification ChaosTargetFilter.