[JAVA] Modèle de disjoncteur que j'ai vérifié

Déclencheur pour enquêter

Lors de la soirée, les jeunes de l'entreprise sont Hystrix de Netflix, qui est le Circuit Breaker Pattern, en bref, Netflix et Bee. Je disais, mais honnêtement qu'est-ce que c'est? Puisqu'il était dans un état, j'aimerais garder une trace de ce à quoi il ressemble.

Comment est-ce?

Circuit Breaker est un «disjoncteur» en japonais. Si vous allumez le climatiseur avec le sèche-linge en marche, il tombera.

Normalement, si l'appelé ne parvient pas à se connecter en raison d'un appel API, je pense qu'il attend un délai d'expiration et renvoie une erreur.

Ce n'est pas préférable car il est inutile de demander même si cela est connu pour provoquer une erreur, et cela augmente également la charge sur l'autre partie.

Si vous placez un disjoncteur dans un tel endroit, si la demande échoue au-delà du seuil, le disjoncteur sera désactivé et une erreur sera renvoyée immédiatement.

Je pense que le disjoncteur dans le service Web est utilisé pour arrêter la chaîne d'obstacles.

Chaîne d'obstacles

Dans le cas des micro-services, je pense qu'il appelle l'API d'un autre service, puis appelle un autre service.

A -> B -> C Si C échoue ici, B attend une réponse jusqu'à ce qu'elle expire. Pendant que B attend un timeout, d'autres requêtes arrivent et elles attendent également une réponse jusqu'à l'expiration du timeout ... Elles consomment des ressources et B tombe également. Si B tombe, on craint qu'une chaîne d'obstacles se produise la prochaine fois comme A.

Référence: Failure and Failurewall dans les microservices https://qiita.com/okumin/items/d7a108ea36f3ad2e3882 Le chiffre était super facile à comprendre

Circuit Breaker Pattern Comme le dit Martin Fowler, XP, le refactoring et d'autres personnes qui ont fait du java vers 2000 devraient en avoir entendu parler. Je suis un peu nerveux. https://martinfowler.com/bliki/CircuitBreaker.html C'est court, et si vous le mettez dans la traduction de Google, cela a du sens.

Je pense que c'est facile à comprendre car il existe des diagrammes de code et de séquence comme des exemples de mise en œuvre.

Mettez un disjoncteur entre le client et le service appelé. C'est un modèle qui fait tomber le disjoncteur, le soulève et le fait automatiquement.

Par exemple, est-ce que c'est comme ça?

Résumé

Quant au montage lui-même, le disjoncteur de Manma Electric était exactement comme je l'imaginais. Un mécanisme pour empêcher une chaîne de pannes lorsque l'accès à distance échoue. Si le service de l'appelé s'arrête, cela n'a pas beaucoup de sens si le service de l'appelant ne peut pas continuer. Même ainsi, il semble que vous puissiez surveiller et surveiller à l'aide de Hystrix de Netflix, et vous pouvez penser que c'est une atmosphère ridicule.

Certes, Hystrix de Netflix est le modèle de disjoncteur, en bref, Netflix et Bee.

Recommended Posts

Modèle de disjoncteur que j'ai vérifié
Modèle de disjoncteur avec Apache Camel
J'ai vérifié ça
J'ai essayé de vérifier la vie précédente avant la vie précédente au lieu de Zundoko Kiyoshi
Modèle de disjoncteur avec Apache Camel, partie 2 (essayez le tableau de bord Hystrix)
J'ai vérifié Java Flight Recorder (JFR)