{"id":7032,"date":"2022-08-27T14:32:24","date_gmt":"2022-08-27T14:32:24","guid":{"rendered":"http:\/\/commentouvrir.com\/blog\/?p=7032"},"modified":"2022-08-27T14:32:24","modified_gmt":"2022-08-27T14:32:24","slug":"algorithme-de-consensus-de-radeau","status":"publish","type":"post","link":"https:\/\/commentouvrir.com\/blog\/algorithme-de-consensus-de-radeau\/","title":{"rendered":"Algorithme de consensus de radeau"},"content":{"rendered":"<p>L'algorithme de consensus Raft est un algorithme informatique qui distribue une machine d'\u00e9tat sur un cluster de syst\u00e8mes informatiques. Il garantit que chaque n\u0153ud du cluster s'accorde sur la m\u00eame s\u00e9rie de transitions d'\u00e9tat, m\u00eame en cas de d\u00e9faillance. L'algorithme a \u00e9t\u00e9 con\u00e7u comme une alternative plus facile \u00e0 comprendre aux protocoles Paxos pour la r\u00e9solution des pannes. Il a des impl\u00e9mentations de r\u00e9f\u00e9rence open source telles que C ++, Java et Scala.<\/p>\n<h2>Qu'est-ce que le consensus<\/h2>\n<p>Le consensus est le processus consistant \u00e0 amener plusieurs serveurs \u00e0 se mettre d'accord sur une valeur sp\u00e9cifique en fonction des votes de chaque serveur. Une fois qu'une d\u00e9cision a \u00e9t\u00e9 prise sur une valeur, la d\u00e9cision est d\u00e9finitive. La valeur d\u00e9cid\u00e9e doit \u00eatre soumise par un serveur, ce qui signifie que l'algorithme de consensus ne peut pas concevoir lui-m\u00eame une valeur. Plus simplement, la valeur peut \u00eatre 0 ou 1, permettant \u00e0 tous les serveurs de d\u00e9cider de faire quelque chose ou non. Le consensus est utilis\u00e9 dans le contexte de machines \u00e0 \u00e9tats r\u00e9pliqu\u00e9es, un mod\u00e8le math\u00e9matique de calcul.<\/p>\n<h2>Comment fonctionne Raft<\/h2>\n<p>Raft fonctionne en \u00e9lisant un leader du cluster. Un serveur dans un cluster est soit un leader soit un suiveur, et peut \u00e9ventuellement \u00eatre un candidat si le leader n'est pas disponible. Le leader g\u00e8re la r\u00e9plication du journal vers d'autres serveurs et accepte les demandes des clients. Un leader m\u00e8ne jusqu'\u00e0 ce qu'il \u00e9choue ou se d\u00e9connecte, auquel cas un nouveau leader est choisi parmi les candidats. Les donn\u00e9es circulent dans un seul sens: du leader vers d'autres serveurs.<\/p>\n<p>Raft d\u00e9compose le consensus en trois sous-probl\u00e8mes ind\u00e9pendants:<\/p>\n<ul>\n<li><strong>\u00c9lection du chef: <\/strong>Lorsque le chef actuel \u00e9choue, un nouveau chef doit \u00eatre \u00e9lu.<strong><br \/><\/strong><\/li>\n<li><strong>R\u00e9plication du journal: <\/strong>Gr\u00e2ce \u00e0 la r\u00e9plication, le leader doit garder son propre serveur synchronis\u00e9 avec les journaux de tous les autres serveurs.<strong><br \/><\/strong><\/li>\n<li><strong>S\u00e9curit\u00e9: <\/strong>Aucun autre serveur ne peut demander une entr\u00e9e de journal \u00e0 un index particulier si un serveur s'est d\u00e9j\u00e0 engag\u00e9 dans une entr\u00e9e de journal pour cet index. Ceci permet de garantir que les journaux sont coh\u00e9rents et que l'\u00e9tat usin\u00e9 ex\u00e9cute le m\u00eame ensemble de commandes.<strong><br \/><\/strong><\/li>\n<\/ul>\n<p>Le radeau peut \u00eatre utilis\u00e9 pour la r\u00e9plication dans des syst\u00e8mes distribu\u00e9s. Il construit des syst\u00e8mes solides et coh\u00e9rents sans sacrifier les performances ou la pr\u00e9cision. Les bases de donn\u00e9es distribu\u00e9es telles que TiDB et YugabyteDB utilisent Raft pour l'\u00e9lection du leader et la r\u00e9plication des donn\u00e9es pour la gestion des bases de donn\u00e9es NewSQL.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;algorithme de consensus Raft est un algorithme informatique qui distribue une machine d&rsquo;\u00e9tat sur un cluster de syst\u00e8mes informatiques. Il garantit que chaque n\u0153ud du cluster s&rsquo;accorde sur la m\u00eame s\u00e9rie de transitions d&rsquo;\u00e9tat, m\u00eame en cas de d\u00e9faillance. L&rsquo;algorithme a \u00e9t\u00e9 con\u00e7u comme une alternative plus facile \u00e0 comprendre aux protocoles Paxos pour la &#8230; <a title=\"Algorithme de consensus de radeau\" class=\"read-more\" href=\"https:\/\/commentouvrir.com\/blog\/algorithme-de-consensus-de-radeau\/\" aria-label=\"En savoir plus sur Algorithme de consensus de radeau\">Lire la suite<\/a><\/p>\n","protected":false},"author":2118,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[9],"tags":[],"class_list":["post-7032","post","type-post","status-publish","format-standard","hentry","category-wiki"],"modified_by":null,"_links":{"self":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/posts\/7032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/users\/2118"}],"replies":[{"embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/comments?post=7032"}],"version-history":[{"count":0,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/posts\/7032\/revisions"}],"wp:attachment":[{"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/media?parent=7032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/categories?post=7032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/commentouvrir.com\/blog\/wp-json\/wp\/v2\/tags?post=7032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}