Imaginez que je dispose de microservice A et Microservice B. Microservice a besoin de faire une demande HTTP à Microservice B. Devrait-il appeler le point de terminaison de la vérification de la santé de Microservice B avant d'effectuer cette demande et ne passerais que si le chèque de santé retourne sainement? p>
3 Réponses :
Le problème de la confiance sur un chèque de santé est que le service peut se dégrader entre un contrôle de santé réussi et votre appel au microservice. Votre code devrait gérer une panne indépendamment du résultat d'un chèque de santé. P>
Je suggérerais d'utiliser une bibliothèque comme Resilience4j , selon la langue que vous utilisez. Son circuit-circuit / cloisons / tentatives devrait atteindre ce que vous avez après. S'il y a une vitrocalisation ou une autre infrastructure (comme des K8s), je laisserais d'examiner le HealthCheck pour eux (prêt et liveline-sondes). P>
ans: non p>
Utiliser le motif de disjoncteur, vous pouvez trouver API dans votre language préféré et vous pouvez définir vos solutions de rappel. p>
Le disjoncteur est un modèle de conception utilisé dans le développement logiciel moderne. Il est utilisé pour détecter les défaillances et encapsule la logique de prévenir une défaillance de la constamment récurrente, pendant la maintenance, une défaillance temporaire du système externe ou des difficultés de système inattendues (wiki). P>
Un client de service doit invoquer un service distant via un proxy qui fonctionne de la même manière à un disjoncteur électrique. Lorsque le nombre d'échecs consécutifs traverse un seuil, les excursions du disjoncteur, et pendant la durée d'une période de délai d'expiration, toutes les tentatives d'invoquer le service à distance échouera immédiatement. Une fois que le délai d'expiration expire, le disjoncteur permet de passer un nombre limité de demandes de test. Si ces demandes réussissent, le disjoncteur reprend le fonctionnement normal. Sinon, s'il y a une défaillance, le délai d'attente commence à nouveau. P>
Ensuite, quel est le but d'un point de terminaison de contrôle de santé, où serait-il utilisé?
Lorsque nous avons un équilibreur de charge, HealthCheck donnera une indication où le trafic navigue dans la circulation.