{"id":54987,"date":"2020-01-09T00:00:00","date_gmt":"2020-01-08T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery"},"modified":"2020-02-18T14:03:03","modified_gmt":"2020-02-18T11:03:03","slug":"istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","title":{"rendered":"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Les vacances sont termin\u00e9es et nous revenons avec notre deuxi\u00e8me article de la s\u00e9rie sur le Maillage de Services Istio.<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/6d65a62468d0f17570cb8b92e03ceb71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe sujet d'aujourd'hui est le Circuit Breaker, qui en russe signifie \u00abdisjoncteur\u00bb, un terme populaire pour d\u00e9signer un \u00abautomate de protection\u00bb. Cependant, dans Istio, cet automate ne coupe pas un circuit court-circuit\u00e9 ou surcharg\u00e9, mais des conteneurs d\u00e9fectueux.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Comment cela devrait fonctionner en th\u00e9orie<\/h3>\n<p>\nLorsque les microservices sont g\u00e9r\u00e9s par Kubernetes, par exemple dans le cadre de la plateforme OpenShift, ils sont automatiquement redimensionn\u00e9s en fonction de la charge. \u00c9tant donn\u00e9 que les microservices fonctionnent dans des pods, plusieurs instances d'un microservice conteneuris\u00e9 peuvent coexister \u00e0 un m\u00eame point final, et Kubernetes va router les requ\u00eates et \u00e9quilibrer la charge entre eux. Et, en th\u00e9orie, tout cela devrait fonctionner parfaitement.<\/p>\n<p>Nous devons garder \u00e0 l'esprit que les microservices sont petits et \u00e9ph\u00e9m\u00e8res. Cette \u00e9ph\u00e9m\u00e9rit\u00e9, qui d\u00e9signe ici la facilit\u00e9 de cr\u00e9ation et de suppression, est souvent sous-estim\u00e9e. La naissance et la mort d'une instance de microservice dans un pod sont des \u00e9v\u00e9nements tout \u00e0 fait attendus, OpenShift et Kubernetes g\u00e8rent cela avec brio, et tout fonctionne impeccablement \u2013 mais toujours en th\u00e9orie.<\/p>\n<h3>Comment cela fonctionne en pratique<\/h3>\n<p>\nImaginez maintenant qu'une instance particuli\u00e8re de microservice, c'est-\u00e0-dire un conteneur, soit d\u00e9faillante : soit elle ne r\u00e9pond pas (erreur 503), soit \u2013 ce qui est pire \u2013 elle r\u00e9pond, mais trop lentement. Autrement dit, elle a des accrocs ou ne r\u00e9pond pas aux requ\u00eates, mais elle n'est pas automatiquement retir\u00e9e du pool. Que faire dans ce cas ? R\u00e9essayer ? La retirer du sch\u00e9ma de routage ? Et que signifie \u00abtrop lentement\u00bb \u2013 combien cela fait en chiffres, et qui les d\u00e9termine ? Peut-\u00eatre que l'on peut simplement lui donner une pause et essayer plus tard ? Si oui, dans combien de temps ?<\/p>\n<h3>Qu'est-ce que l'Ejection de Pool dans Istio<\/h3>\n<p>\nC'est ici qu'Istio intervient avec ses automates de protection Circuit Breaker, qui retirent temporairement les conteneurs d\u00e9fectueux du pool de ressources de routage et d'\u00e9quilibrage de charge, mettant en \u0153uvre la proc\u00e9dure d'Ejection de Pool.<\/p>\n<p>En utilisant la strat\u00e9gie de d\u00e9tection des anomalies, Istio identifie les pods d\u00e9viants qui se d\u00e9marquent du reste, et les retire du pool de ressources pendant un certain temps, connu sous le nom de \u00abfen\u00eatre de sommeil\u00bb. <\/p>\n<p>Pour montrer comment cela fonctionne dans Kubernetes sur la plateforme OpenShift, commen\u00e7ons par une capture d'\u00e9cran de microservices fonctionnant normalement depuis un exemple dans le d\u00e9p\u00f4t. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">D\u00e9mos D\u00e9veloppeur Red Hat<\/a><\/noindex>. Ici, nous avons deux pods, v1 et v2, chacun ex\u00e9cutant un conteneur. Lorsque les r\u00e8gles de routage d'Istio ne sont pas utilis\u00e9es, Kubernetes applique par d\u00e9faut un routage cyclique \u00e9quilibr\u00e9 de mani\u00e8re uniforme :<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/6bd750250a84fdbd2f3e1fcfe0c2d9fd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Pr\u00e9paration \u00e0 la d\u00e9faillance<\/h3>\n<p>\nAvant de proc\u00e9der \u00e0 l'\u00e9jection de pool, il faut cr\u00e9er une r\u00e8gle de routage Istio. Supposons que nous souhaitions r\u00e9partir les requ\u00eates entre les pods \u00e0 hauteur de 50\/50. En outre, nous allons augmenter le nombre de conteneurs v2 d'un \u00e0 deux, comme ceci :<\/p>\n<pre><code class=\"plaintext\">oc scale deployment recommendation-v2 --replicas=2 -n tutorial\n<\/code><\/pre>\n<p>\nNous d\u00e9finissons maintenant une r\u00e8gle de routage pour que le trafic soit distribu\u00e9 entre les pods \u00e0 hauteur de 50\/50.<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/e40af0e8d94fc5ae0d8dcdd6105d34eb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nVoici \u00e0 quoi ressemble le r\u00e9sultat de cette r\u00e8gle :<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/70e4a251f33828b4c1ac688921e5545a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nOn pourrait arguer que sur cette capture d'\u00e9cran ce n'est pas 50\/50, mais 14:9, mais la situation devrait se r\u00e9guler avec le temps.<\/p>\n<h3>Provoquer une d\u00e9faillance<\/h3>\n<p>\nNous allons maintenant mettre hors d'\u00e9tat de marche un des deux conteneurs v2, de sorte que nous ayons un conteneur v1 fonctionnel, un conteneur v2 fonctionnel et un conteneur v2 d\u00e9faillant : <\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/c376ed242d5659c6953e8cd4821222ab.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>R\u00e9parer la d\u00e9faillance<\/h3>\n<p>\nAinsi, nous avons un conteneur d\u00e9faillant, et il est temps d'effectuer l'\u00e9jection de pool. Avec une configuration tr\u00e8s simple, nous exclurons ce conteneur d\u00e9faillant de tout sch\u00e9ma de routage pendant 15 secondes en esp\u00e9rant qu'il se r\u00e9tablisse (soit par red\u00e9marrage, soit en restaurant ses performances). Voici \u00e0 quoi ressemble cette configuration et les r\u00e9sultats de son ex\u00e9cution :<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/1f7261c7907d12002249642dbc2be054.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/cb9378b82e533d4b6dd312928294b3a1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nComme on peut le voir, le conteneur d\u00e9faillant v2 n'est plus utilis\u00e9 pour le routage des requ\u00eates, car il a \u00e9t\u00e9 retir\u00e9 du pool. Cependant, apr\u00e8s 15 secondes, il reviendra automatiquement dans le pool. En fait, nous venons de d\u00e9montrer comment fonctionne l'\u00e9jection de pool.<\/p>\n<h3>Commencer \u00e0 construire l'architecture<\/h3>\n<p>\nL'\u00e9jection de pool combin\u00e9e aux capacit\u00e9s de surveillance d'Istio permet de commencer \u00e0 \u00e9tablir un cadre d'automatisation du remplacement des conteneurs d\u00e9faillants, afin de r\u00e9duire ou m\u00eame d'\u00e9liminer les temps d'arr\u00eat et les d\u00e9faillances.<br \/>\n\u2003<br \/>\nLa NASA a un c\u00e9l\u00e8bre slogan : Failure Is Not an Option, attribu\u00e9 au directeur des op\u00e9rations de vol. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D1%80%D0%B0%D0%BD%D1%86,_%D0%94%D0%B6%D0%B8%D0%BD\">Gene Kranz<\/a><\/noindex>. En fran\u00e7ais, cela peut \u00eatre traduit par \u00ab L'\u00e9chec n'est pas une option \u00bb, et l'id\u00e9e ici est que tout peut fonctionner avec suffisamment de volont\u00e9. Cependant, dans la r\u00e9alit\u00e9, les \u00e9checs ne se produisent pas seulement, ils sont in\u00e9vitables, partout et dans tout. Comment g\u00e9rer cela dans le cas des microservices ? \u00c0 notre avis, il vaut mieux compter non pas sur la volont\u00e9, mais sur les capacit\u00e9s des conteneurs. <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\/\">Kubernetes<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/products\/openshift\/overview\/\">Red Hat OpenShift<\/a><\/noindex>et <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/service-mesh\/\">Istio<\/a><\/noindex>.<\/p>\n<p>Istio, comme nous l'avons d\u00e9j\u00e0 mentionn\u00e9, met en \u0153uvre un concept de disjoncteurs automatiques qui a fait ses preuves dans le monde physique. Tout comme un disjoncteur \u00e9lectrique d\u00e9connecte la partie probl\u00e9matique d'un circuit, le Circuit Breaker d'Istio interrompt la connexion entre le flux de requ\u00eates et le conteneur probl\u00e9matique, lorsqu'il y a un probl\u00e8me avec le point final, par exemple, lorsque le serveur est tomb\u00e9 ou commence \u00e0 ralentir.<\/p>\n<p>De plus, dans le second cas, les probl\u00e8mes ne font que s'aggraver, car les ralentissements d'un conteneur provoquent non seulement un cascade de d\u00e9lais dans les services qui y font appel, ce qui r\u00e9duit la performance globale du syst\u00e8me, mais g\u00e9n\u00e8rent \u00e9galement des requ\u00eates r\u00e9p\u00e9t\u00e9es vers un service d\u00e9j\u00e0 lent, ce qui aggrave encore la situation.<\/p>\n<h3>Circuit Breaker en th\u00e9orie<\/h3>\n<p>\nLe Circuit Breaker est un proxy qui contr\u00f4le le flux des requ\u00eates vers un point final. Lorsque ce point cesse de fonctionner ou, en fonction des param\u00e8tres d\u00e9finis, commence \u00e0 ralentir, le proxy rompt la connexion avec le conteneur. Le trafic est alors redirig\u00e9 vers d'autres conteneurs, simplement pour \u00e9quilibrer la charge. La connexion reste ouverte (open) pendant une p\u00e9riode d'attente d\u00e9finie, disons deux minutes, puis est consid\u00e9r\u00e9e comme semi-ouverte (half-open). Une tentative d'envoyer la requ\u00eate suivante d\u00e9termine l'\u00e9tat ult\u00e9rieur de la connexion. Si tout va bien avec le service, la connexion revient \u00e0 l'\u00e9tat de travail et redevient ferm\u00e9e (closed). En revanche, si le service pr\u00e9sente toujours des probl\u00e8mes, la connexion est \u00e0 nouveau rompue et une nouvelle p\u00e9riode d'attente est lanc\u00e9e. Voici \u00e0 quoi ressemble un diagramme simplifi\u00e9 de l'\u00e9tat du Circuit Breaker :<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/7ba3e945451cbcaf797f9706c8dacb3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIl est important de noter que tout cela se passe au niveau, disons, de l'architecture syst\u00e8me. Par cons\u00e9quent, \u00e0 un moment donn\u00e9, vous devrez apprendre \u00e0 vos applications \u00e0 travailler avec le Circuit Breaker, par exemple en fournissant une valeur par d\u00e9faut en r\u00e9ponse ou, si possible, en ignorant l'existence du service. Pour cela, le mod\u00e8le bulkhead est utilis\u00e9, mais il d\u00e9passe le cadre de cet article.<\/p>\n<h3>Circuit Breaker en pratique<\/h3>\n<p>\nPar exemple, nous allons lancer sur OpenShift deux versions de notre microservice de recommandations. La version 1 fonctionnera normalement, tandis que dans v2, nous int\u00e9grerons un d\u00e9lai pour simuler des lenteurs sur le serveur. Un outil sera utilis\u00e9 pour visualiser les r\u00e9sultats. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/JoeDog\/siege\">siege<\/a><\/noindex>:<\/p>\n<pre><code class=\"plaintext\">siege -r 2 -c 20 -v customer-tutorial.$(minishift ip).nip.io\n<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/0660814fd5d7ebc9d9a3fa9f95fbae3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTout semble fonctionner, mais \u00e0 quel prix ? \u00c0 premi\u00e8re vue, nous avons 100 % de disponibilit\u00e9, mais regardez de plus pr\u00e8s \u2013 la dur\u00e9e maximale de la transaction est de 12 secondes. C'est clairement un goulet d'\u00e9tranglement, et il doit \u00eatre \u00e9largi.<\/p>\n<p>Pour cela, nous exclurons les appels aux conteneurs lents avec Istio. Voici \u00e0 quoi ressemble la configuration correspondante avec le Circuit Breaker :<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/bb7349d199dad89964d824ae1194c3fc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLa derni\u00e8re ligne avec le param\u00e8tre httpMaxRequestsPerConnection indique que la connexion doit \u00eatre coup\u00e9e lors de la tentative de cr\u00e9ation d'une nouvelle connexion \u2013 la seconde \u2013 en plus de la connexion d\u00e9j\u00e0 existante. Comme notre conteneur simule un service lent, de telles situations se produiront p\u00e9riodiquement, et dans ce cas, Istio retournera une erreur 503, et voici ce que montrera siege :<\/p>\n<p><img decoding=\"async\" alt=\"Istio Circuit Breaker : d\u00e9sactiver les conteneurs d\u00e9faillants\" src=\"\/wp-content\/uploads\/2020\/01\/2bb6f4fb3669bd4ea6214b98bcfa22ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>D'accord, nous avons le Circuit Breaker, que faire ensuite ?<\/h3>\n<p>\nAinsi, nous avons impl\u00e9ment\u00e9 la d\u00e9sactivation automatique, sans toucher au code source des services eux-m\u00eames. En utilisant le Circuit Breaker et la proc\u00e9dure d'Ejection de Pool d\u00e9crite ci-dessus, nous pouvons retirer du pool de ressources les conteneurs lents jusqu'\u00e0 ce qu'ils reviennent \u00e0 la normale et v\u00e9rifier leur \u00e9tat \u00e0 intervalles r\u00e9guliers \u2013 dans notre exemple, cela prend deux minutes (param\u00e8tre sleepWindow).<\/p>\n<p>Notez que la capacit\u00e9 de l'application \u00e0 r\u00e9agir \u00e0 une erreur 503 est toujours d\u00e9finie au niveau de son code source. Il existe de nombreuses strat\u00e9gies de gestion du Circuit Breaker qui sont appliqu\u00e9es selon la situation.<\/p>\n<p><b>Dans le prochain article :<\/b> nous parlerons de la tra\u00e7abilit\u00e9 et de la surveillance, qui sont d\u00e9j\u00e0 int\u00e9gr\u00e9es ou facilement ajout\u00e9es \u00e0 Istio, ainsi que des mani\u00e8res d'introduire intentionnellement des erreurs dans le syst\u00e8me.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/483262\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u044f\u044f \u0442\u0435\u043c\u0430 \u2013 Circuit Breaker, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c\u00bb, \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0440\u0435\u0447\u0438\u0438 \u2013 \u00ab\u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0437\u0430\u0449\u0438\u0442\u044b\u00bb. \u0422\u043e\u043b\u044c\u043a\u043e \u0432 Istio \u044d\u0442\u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0435 \u043a\u043e\u0440\u043e\u0442\u043d\u0443\u0432\u0448\u0443\u044e \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0443\u044e \u0446\u0435\u043f\u044c, \u0430 \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b. \u041a\u0430\u043a \u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u041a\u043e\u0433\u0434\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54987","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Istio Circuit Breaker: \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-08T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Circuit Breaker Istio : d\u00e9sactivation des conteneurs d\u00e9faillants | ProHoster","description":"Les vacances sont termin\u00e9es et nous revenons avec notre deuxi\u00e8me article de la s\u00e9rie sur le Maillage de Services Istio.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Istio Circuit Breaker: \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b | ProHoster","og:description":"\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-08T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54987","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 13:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:54:34","updated":"2026-01-24 13:26:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/54987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=54987"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/54987\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=54987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=54987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=54987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}