<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concept on PIG.CENTER</title><link>https://pig.center/fr/categories/concept/</link><description>Recent content in Concept on PIG.CENTER</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/fr/categories/concept/index.xml" rel="self" type="application/rss+xml"/><item><title>Fonctionnalités</title><link>https://pig.center/fr/docs/pgbouncer/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/features/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Plusieurs niveaux de sévérité lors de la rotation des connexions :&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Pooling de sessions&lt;/strong&gt;&#10;: Méthode la moins intrusive. Lorsqu’un client se connecte, une connexion serveur lui est attribuée pour toute la durée de sa connexion. Lorsque le client se déconnecte, la connexion serveur est remise dans le pool. Ce mode prend en charge toutes les fonctionnalités de PostgreSQL.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Pooling de transactions&lt;/strong&gt;&#10;: Une connexion serveur est attribuée à un client uniquement pendant une transaction. Lorsque PgBouncer détecte la fin de la transaction, le serveur est remis dans le pool. Ce mode désactive quelques fonctionnalités basées sur la session de PostgreSQL. Vous ne pouvez l&amp;rsquo;utiliser que si l&amp;rsquo;application coopère en ne utilisant pas les fonctionnalités qui causent des incompatibilités. Consultez le tableau ci-dessous pour les fonctionnalités incompatibles.&lt;/p&gt;</description></item><item><title>Introduction</title><link>https://pig.center/fr/docs/patroni/readme/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/readme/</guid><description>&lt;p&gt;&lt;a id="readme"&gt;&lt;/a&gt;&#10;Patroni est un modèle de solutions PostgreSQL à haute disponibilité (HA) basé sur Python. Patroni a été initialement développé à partir d&amp;rsquo;une branche de &lt;a href="https://github.com/compose/governor"&gt;Governor&lt;/a&gt;&#10;, le projet de Compose. Il intègre de nombreuses fonctionnalités nouvelles.&lt;/p&gt;&#10;&lt;p&gt;Pour plus d&amp;rsquo;informations de contexte, voir :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=iruaCgeG7qs"&gt;Haute disponibilité PostgreSQL avec Kubernetes et Patroni&lt;/a&gt;&#10;, conférence de Josh Berkus à KubeCon 2016 (vidéo)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://engineering.zalando.com/posts/2016/02/zalandos-patroni-a-template-for-high-availability-postgresql.html"&gt;Article du blog technique Zalando, février 2016&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="development-status"&gt;Statut de développement&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni est en développement actif et accepte les contributions. Consultez notre section &lt;a href="https://pig.center/fr/docs/patroni/contributing_guidelines/#contributing_guidelines"&gt;Contributing&lt;/a&gt;&#10; ci-dessous pour plus de détails.&lt;/p&gt;</description></item><item><title>Documentation Patroni 4.1.5</title><link>https://pig.center/fr/docs/patroni/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;[!AVERTISSEMENT]&lt;/p&gt;&#10;&lt;p&gt;Exécution de Patroni sur des systèmes à mémoire limitée avec Python 3.11+&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Si vous exécutez Patroni sur un système avec des limites de mémoire strictes, par exemple avec &lt;code&gt;vm.overcommit_memory=2&lt;/code&gt; (recommandé pour PostgreSQL), et utilisez Python 3.11 ou une version ultérieure, vous pouvez observer un comportement inattendu :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Patroni est en état sain&lt;/li&gt;&#10;&lt;li&gt;PostgreSQL continue de s&amp;rsquo;exécuter&lt;/li&gt;&#10;&lt;li&gt;L&amp;rsquo;API REST de Patroni devient inopérante&lt;/li&gt;&#10;&lt;li&gt;Le système d&amp;rsquo;exploitation indique que Patroni écoute sur le port de l&amp;rsquo;API REST&lt;/li&gt;&#10;&lt;li&gt;Les journaux de Patroni semblent normaux ; cependant, les messages suivants peuvent apparaître une fois : &lt;code&gt;Exception ignored in thread started by: &amp;lt;object repr() failed&amp;gt;&lt;/code&gt;, &lt;code&gt;MemoryError&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Les journaux du noyau peuvent contenir des messages tels que &lt;code&gt;not enough memory for the allocation&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Ce comportement est dû à un &lt;a href="https://github.com/python/cpython/issues/140746"&gt;bug dans Python 3.11+&lt;/a&gt;&#10;. Sous des conditions de mémoire strictes, le démarrage d&amp;rsquo;un nouveau thread peut bloquer indéfiniment en l&amp;rsquo;absence de mémoire libre.&lt;/p&gt;</description></item><item><title>pgBackRest 2.59.1 Documentation</title><link>https://pig.center/fr/docs/pgbackrest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&#10;&lt;/h2&gt;&#10;&lt;p&gt;pgBackRest est une solution fiable de sauvegarde et de restauration pour PostgreSQL, qui s&amp;rsquo;adapte sans heurt aux plus grands bases de données et charges de travail.&lt;/p&gt;&#10;&lt;p&gt;pgBackRest &lt;a href="https://github.com/pgbackrest/pgbackrest/releases/tag/release/2.59.1"&gt;v2.59.1&lt;/a&gt;&#10; est la version stable actuelle. Les notes de version se trouvent sur la page &lt;a href="https://pig.center/fr/docs/pgbackrest/release/"&gt;Releases&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;p&gt;Merci de nous donner une étoile sur &lt;a href="https://github.com/pgbackrest/pgbackrest"&gt;GitHub&lt;/a&gt;&#10; si vous appréciez pgBackRest !&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="news"&gt;Actualités&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;17 août 2026&lt;/strong&gt; - &lt;a href="https://pig.center/fr/docs/pgbackrest/news/#release-2-59-1"&gt;pgBackRest 2.59.1 publié&lt;/a&gt;&#10;&lt;/p&gt;</description></item><item><title>Fundamentaux de la répartition de charge</title><link>https://pig.center/fr/docs/haproxy/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/load-balancing/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document présente HAProxy à l&amp;rsquo;intention de tous ceux qui ne le connaissent pas, ainsi que de ceux qui souhaitent le redécouvrir après avoir utilisé des versions antérieures. Son objectif principal est de fournir à l&amp;rsquo;utilisateur toutes les informations nécessaires pour décider si HAProxy correspond ou non à ses besoins. Les utilisateurs avancés pourront y trouver certaines solutions à des idées qu&amp;rsquo;ils avaient eues, simplement parce qu&amp;rsquo;ils ignoraient une fonctionnalité récente. Des indications de dimensionnement sont également fournies, le cycle de vie du produit est expliqué, ainsi que des comparaisons avec des produits partiellement similaires.&lt;/p&gt;</description></item><item><title>Qu'est-ce qu'HAProxy et comment il fonctionne</title><link>https://pig.center/fr/docs/haproxy/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/architecture/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;La graphie « HAProxy » désigne le produit, tandis que « haproxy » désigne le programme exécutable, le paquet logiciel ou un processus. Ces graphies sont toutefois couramment utilisées dans chaque contexte et se prononcent H-A-Proxy. À l&amp;rsquo;origine, « haproxy » signifiait « high availability proxy » et le nom s&amp;rsquo;écrivait en deux mots distincts ; aujourd&amp;rsquo;hui, il ne signifie plus rien d&amp;rsquo;autre que « HAProxy ».&lt;/p&gt;</description></item><item><title>Documentation PgBouncer 1.25.2</title><link>https://pig.center/fr/docs/pgbouncer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/</guid><description>&lt;p&gt;&lt;strong&gt;pgbouncer&lt;/strong&gt; est un pooler de connexions PostgreSQL. Toute application cliente peut se connecter à &lt;strong&gt;pgbouncer&lt;/strong&gt; comme s’il était un serveur PostgreSQL, et &lt;strong&gt;pgbouncer&lt;/strong&gt; établira une connexion vers le serveur réel, ou réutilisera l’une de ses connexions existantes.&lt;/p&gt;&#10;&lt;p&gt;L&amp;rsquo;objectif de &lt;strong&gt;pgbouncer&lt;/strong&gt; est de réduire l&amp;rsquo;impact sur les performances lié à l&amp;rsquo;ouverture de nouvelles connexions vers PostgreSQL.&lt;/p&gt;&#10;&lt;p&gt;Afin de ne pas compromettre la sémantique transactionnelle pour le pooling de connexions, &lt;strong&gt;pgbouncer&lt;/strong&gt; prend en charge plusieurs types de pooling lors de la rotation des connexions :&lt;/p&gt;</description></item><item><title>Fonctionnalités de base</title><link>https://pig.center/fr/docs/haproxy/basic-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/basic-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Cette section énumère un certain nombre de fonctionnalités implémentées par HAProxy, certaines étant généralement attendues d’un répartiteur de charge moderne, et d’autres constituant un avantage direct de l’architecture d’HAProxy. Les fonctionnalités avancées seront détaillées dans la section suivante.&lt;/p&gt;&#10;&lt;h2 id="section-3-3-1"&gt;3.3.1. Fonctionnalités de base : Proxys&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le proxy consiste à transférer des données entre un client et un serveur via deux connexions indépendantes. Les fonctionnalités de base suivantes sont prises en charge par HAProxy en matière de proxy et de gestion des connexions :&lt;/p&gt;</description></item><item><title>pgBadger 13.2 Documentation</title><link>https://pig.center/fr/docs/pgbadger/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/</guid><description>&lt;img class="td-image" src="https://pig.center/img/docs/pgbadger/logo.png" alt="logo pgBadger" title="pgBadger" loading="lazy" decoding="async"&gt;&lt;p&gt;&lt;strong&gt;pgBadger&lt;/strong&gt; est un analyseur de journaux PostgreSQL rapide et autonome, écrit en Perl. Il lit les journaux PostgreSQL ou PgBouncer et génère des sorties détaillées au format HTML, texte, binaire, JSON ou CSV brut. Les rapports HTML sont autonomes, interactifs, zoomables et nécessitent uniquement un navigateur web pour être visualisés.&lt;/p&gt;&#10;&lt;h2 id="why-pgbadger"&gt;Pourquoi pgBadger&#10;&lt;/h2&gt;&#10;&lt;p&gt;pgBadger est conçu pour les gros volumes de journaux et une utilisation opérationnelle :&lt;/p&gt;</description></item><item><title>Fonctionnalités standard</title><link>https://pig.center/fr/docs/haproxy/standard-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/standard-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Dans cette section, sont énumérées certaines fonctionnalités très couramment utilisées avec HAProxy mais qui ne sont pas nécessairement disponibles sur d&amp;rsquo;autres répartiteurs de charge.&lt;/p&gt;&#10;&lt;h2 id="section-3-4-1"&gt;3.4.1. Fonctionnalités standard : Échantillonnage et conversion d&amp;rsquo;informations&#10;&lt;/h2&gt;&#10;&lt;p&gt;HAProxy prend en charge l&amp;rsquo;extraction d&amp;rsquo;échantillons à l&amp;rsquo;aide d&amp;rsquo;une large gamme de « fonctions d&amp;rsquo;extraction d&amp;rsquo;échantillon ». Le principe consiste à extraire des éléments d&amp;rsquo;information appelés échantillons, destinés à une utilisation immédiate. Cela est utilisé pour la persistance de session, la création de conditions, la génération d&amp;rsquo;informations dans les journaux ou l&amp;rsquo;enrichissement des en-têtes HTTP.&lt;/p&gt;</description></item><item><title>etcd 3.7 Documentation</title><link>https://pig.center/fr/docs/etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/</guid><description>&lt;p&gt;etcd est un magasin clé-valeur distribué à cohérence forte. Ces guides traitent de l&amp;rsquo;installation et de l&amp;rsquo;exploitation d&amp;rsquo;etcd, de la mise en œuvre d&amp;rsquo;applications basées sur ses API, de sa conception, de la mesure des performances, ainsi que de la mise à jour ou de la rétrogradation des clusters dans la branche de version 3.7.&lt;/p&gt;&#10;&lt;p&gt;Commencez par &lt;a href="https://pig.center/fr/docs/etcd/quickstart/"&gt;Démarrage rapide&lt;/a&gt;&#10; pour un cluster local à membre unique, &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;Installation&lt;/a&gt;&#10; pour les chemins d&amp;rsquo;installation pris en charge, ou &lt;a href="https://pig.center/fr/docs/etcd/op-guide/"&gt;Guide des opérations&lt;/a&gt;&#10; pour les déploiements en production.&lt;/p&gt;</description></item><item><title>Fonctionnalités avancées</title><link>https://pig.center/fr/docs/haproxy/advanced-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/advanced-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-3-5-1"&gt;3.5.1. Fonctionnalités avancées : Gestion&#10;&lt;/h2&gt;&#10;&lt;p&gt;HAProxy est conçu pour rester extrêmement stable et sécurisé à gérer dans un environnement de production classique. Il est fourni sous forme d’un seul fichier exécutable ne nécessitant aucun processus d’installation. Plusieurs versions peuvent coexister facilement, ce qui permet (et est recommandé) de mettre à jour les instances progressivement, par ordre de priorité, plutôt que de les migrer toutes en même temps. Les fichiers de configuration sont facilement versionnés. La vérification de configuration se fait hors ligne, sans nécessiter de redémarrer un service susceptible de échouer. Pendant la vérification de configuration, un certain nombre d’erreurs avancées peuvent être détectées (par exemple, une règle masquant une autre, ou une persistance qui ne fonctionnera pas), et des avertissements détaillés ainsi que des suggestions de configuration sont proposés pour les corriger. La compatibilité des fichiers de configuration avec les versions antérieures s’étend très loin dans le temps : la version 1.5 supporte encore entièrement les configurations écrites pour les versions 1.1, il y a 13 ans, et la version 1.6 n’a abandonné le support que pour des mots-clés presque inutilisés et obsolètes, pouvant être remplacés autrement. Le mécanisme de mise à jour de la configuration et du logiciel est fluide et non disruptif, car il permet à des processus anciens et nouveaux de coexister sur le système, chacun gérant ses propres connexions. L’état du système, les options de compilation et la compatibilité des bibliothèques sont rapportés au démarrage.&lt;/p&gt;</description></item><item><title>Modes de réplication</title><link>https://pig.center/fr/docs/patroni/replication_modes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/replication_modes/</guid><description>&lt;p&gt;&lt;a id="replication_modes"&gt;&lt;/a&gt;&#10;Patroni utilise la réplication en streaming de PostgreSQL. Pour en savoir plus sur la réplication en streaming, consultez la documentation &lt;a href="http://www.postgresql.org/docs/current/static/warm-standby.html#STREAMING-REPLICATION"&gt;Postgres&lt;/a&gt;&#10;. Par défaut, Patroni configure PostgreSQL pour une réplication asynchrone. Le choix de votre schéma de réplication dépend de vos considérations métier. Étudiez à la fois la réplication asynchrone et synchrone, ainsi que d&amp;rsquo;autres solutions de haute disponibilité, afin de déterminer la solution la mieux adaptée à votre situation.&lt;/p&gt;</description></item><item><title>Communauté</title><link>https://pig.center/fr/docs/pgbouncer/community/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/community/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="tutorials"&gt;Tutoriels&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://get.enterprisedb.com/docs/Tutorial_All_PPSS_pgBouncer.pdf"&gt;Comment configurer PgBouncer pour Postgres Plus Standard Server&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Vue d&amp;rsquo;ensemble complète des concepts de PgBouncer.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://www.depesz.com/2012/12/02/what-is-the-point-of-bouncing/"&gt;À quoi sert le rebondissement ?&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Explique les différences entre les modes de regroupement.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="support"&gt;Prise en charge&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer"&gt;Page du projet&lt;/a&gt;&#10; sur GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer/issues"&gt;Suivi des problèmes&lt;/a&gt;&#10; sur GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/tagged/pgbouncer"&gt;Section PgBouncer sur Stack Overflow&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer/discussions"&gt;Discussions de la communauté&lt;/a&gt;&#10; sur GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Métriques du projet</title><link>https://pig.center/fr/docs/pgbackrest/metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/metric/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="code-coverage"&gt;Couverture de code&#10;&lt;/h2&gt;&#10;&lt;p&gt;pgBackRest vise à obtenir une couverture complète des fonctions, branches et lignes pour le code C principal dans &lt;code&gt;/src&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;La couverture fonctionnelle et par ligne est complète, sans exception.&lt;/p&gt;&#10;&lt;p&gt;La couverture de branche exclut les branches à l&amp;rsquo;intérieur des macros et les appels à &lt;code&gt;assert()&lt;/code&gt;. Les macros ont leurs propres tests unitaires, donc elles n&amp;rsquo;ont pas besoin d&amp;rsquo;être testées à chaque endroit où elles apparaissent. Les assertions ne doivent pas être complètement couvertes en termes de branche, car elles vérifient des cas qui doivent toujours être vrais.&lt;/p&gt;</description></item><item><title>Produits complémentaires et alternatives</title><link>https://pig.center/fr/docs/haproxy/ecosystem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/ecosystem/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy s&amp;rsquo;intègre assez bien avec certains produits listés ci-dessous, ce qui justifie leur mention ici, même s&amp;rsquo;ils ne sont pas directement liés à HAProxy.&lt;/p&gt;&#10;&lt;h2 id="section-4-1"&gt;4.1. Serveur HTTP Apache&#10;&lt;/h2&gt;&#10;&lt;p&gt;Apache est le serveur HTTP de facto. Il s&amp;rsquo;agit d&amp;rsquo;un projet très complet et modulaire, capable de servir des fichiers ainsi que du contenu dynamique. Il peut agir de front-end pour certains serveurs d&amp;rsquo;applications. Il peut même acheminer des requêtes et mettre en mémoire tampon les réponses. Dans tous ces cas d&amp;rsquo;utilisation, un répartiteur de charge frontal est généralement nécessaire. Apache peut fonctionner dans divers modes, certains étant plus lourds que d&amp;rsquo;autres. Certains modules nécessitent encore le modèle pré-forké plus lourd, ce qui empêche Apache de bien évoluer avec un grand nombre de connexions. Dans ce cas, HAProxy peut apporter une aide considérable en imposant des limites de connexion par serveur à une valeur sûre, ce qui accélère significativement le serveur et préserve ses ressources, qui seront mieux utilisées par l&amp;rsquo;application.&lt;/p&gt;</description></item><item><title>Prise en charge du watchdog</title><link>https://pig.center/fr/docs/patroni/watchdog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/watchdog/</guid><description>&lt;p&gt;&lt;a id="watchdog"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;L&amp;rsquo;exécution de plusieurs serveurs PostgreSQL en tant que primaires peut entraîner la perte de transactions en raison de lignes temporelles divergentes. Ce cas est également appelé problème de split-brain. Pour éviter le split-brain, Patroni doit s&amp;rsquo;assurer que PostgreSQL n&amp;rsquo;accepte aucune validation de transaction après l&amp;rsquo;expiration de la clé leader dans le DCS. Dans des conditions normales, Patroni tente d&amp;rsquo;atteindre cet objectif en arrêtant PostgreSQL lorsque la mise à jour du verrou leader échoue pour quelque raison que ce soit. Toutefois, cette action peut échouer pour diverses raisons :&lt;/p&gt;</description></item><item><title>Mode de secours DCS</title><link>https://pig.center/fr/docs/patroni/dcs_failsafe_mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/dcs_failsafe_mode/</guid><description>&lt;p&gt;&lt;a id="dcs_failsafe_mode"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="the-problem"&gt;Le problème&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni s’appuie fortement sur le magasin de configuration distribué (DCS) pour résoudre les élections de leader et détecter les partitions réseau. Un nœud ne peut exécuter PostgreSQL en tant que primaire que s’il parvient à mettre à jour le verrou de leader dans le DCS. En cas d’échec de mise à jour du verrou de leader, PostgreSQL est immédiatement rétrogradé et lancé en lecture seule. Selon le DCS utilisé, les chances de rencontrer ce problème varient. Par exemple, avec etcd, utilisé exclusivement par Patroni, les chances sont quasi nulles, tandis qu’avec l’API Kubernetes (appuyée sur etcd), ce problème peut être observé plus fréquemment.&lt;/p&gt;</description></item><item><title>1. Petit rappel sur HTTP</title><link>https://pig.center/fr/docs/haproxy/http-fundamentals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/http-fundamentals/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document traite du langage de configuration tel qu’il est implémenté dans la version indiquée ci-dessus. Il ne fournit aucune indication, exemple ou conseil. Pour ce type de documentation, veuillez vous référer au Manuel de référence ou au Manuel d’architecture. Les chapitres numérotés sont ordonnés dans la barre latérale plate de HAProxy pour une navigation directe.&lt;/p&gt;&#10;&lt;p&gt;Lorsque HAProxy fonctionne en mode HTTP, la requête et la réponse sont entièrement analysées et indexées, ce qui permet de définir des critères de correspondance sur presque tout élément présent dans leur contenu.&lt;/p&gt;</description></item><item><title>Prise en charge Citus</title><link>https://pig.center/fr/docs/patroni/citus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/citus/</guid><description>&lt;p&gt;&lt;a id="citus"&gt;&lt;/a&gt;&#10;Patroni permet de déployer très facilement des clusters &lt;a href="https://docs.citusdata.com/en/stable/installation/multi_node.html"&gt;Multi-Node Citus&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="tldr"&gt;TL;DR&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il n’existe que quelques règles simples à suivre :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/citusdata/citus"&gt;Extension Citus&lt;/a&gt;&#10; pour PostgreSQL doit être disponible sur tous les nœuds. La version minimale prise en charge est 10.0, mais pour bénéficier pleinement des basculements planifiés transparents et des redémarrages des workers, nous recommandons d&amp;rsquo;utiliser au moins la version Citus 11.2.&lt;/li&gt;&#10;&lt;li&gt;Le nom du cluster (&lt;code&gt;scope&lt;/code&gt;) doit être identique sur tous les nœuds Citus !&lt;/li&gt;&#10;&lt;li&gt;Les identifiants de superutilisateur doivent être identiques sur le nœud coordinateur et sur tous les nœuds workers, et &lt;code&gt;pg_hba.conf&lt;/code&gt; doit autoriser l&amp;rsquo;accès en tant que superutilisateur entre tous les nœuds.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/patroni/config/yaml/#restapi_settings"&gt;API REST&lt;/a&gt;&#10; doit être accessible depuis les nœuds workers vers le coordinateur. Par exemple, les identifiants doivent être identiques, et si configurés, les certificats clients émis par les nœuds workers doivent être acceptés par le coordinateur.&lt;/li&gt;&#10;&lt;li&gt;Ajoutez la section suivante au &lt;code&gt;patroni.yaml&lt;/code&gt; :&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-14fcb69e-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="yaml" data-td-line-count="3"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-14fcb69e-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;citus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;group&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;X &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 0 for coordinator and 1, 2, 3, etc for workers&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;database&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;citus &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# must be the same on all nodes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Ensuite, il vous suffit de démarrer Patroni, qui s&amp;rsquo;occupera du reste :&lt;/p&gt;</description></item><item><title>Intégration avec d'autres outils</title><link>https://pig.center/fr/docs/patroni/tools_integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/tools_integration/</guid><description>&lt;p&gt;&lt;a id="tools_integration"&gt;&lt;/a&gt;&#10;Patroni est capable d&amp;rsquo;intégrer d&amp;rsquo;autres outils de votre infrastructure. Dans cette section, vous trouverez une liste d&amp;rsquo;exemples, qui, bien qu&amp;rsquo;elle ne soit pas exhaustive, peut vous inspirer sur les façons dont Patroni peut s&amp;rsquo;intégrer à d&amp;rsquo;autres outils.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="barman"&gt;Barman&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni fournit une application nommée &lt;code&gt;patroni_barman&lt;/code&gt; qui intègre la logique de communication avec &lt;code&gt;pg-backup-api&lt;/code&gt;, vous permettant ainsi d&amp;rsquo;effectuer des opérations Barman à distance.&lt;/p&gt;&#10;&lt;p&gt;Cette application possède actuellement plusieurs sous-commandes : &lt;code&gt;recover&lt;/code&gt; et &lt;code&gt;config-switch&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Considérations de sécurité</title><link>https://pig.center/fr/docs/patroni/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/security/</guid><description>&lt;p&gt;&lt;a id="security"&gt;&lt;/a&gt;&#10;Un cluster Patroni dispose de deux interfaces à protéger contre l&amp;rsquo;accès non autorisé : le stockage de configuration distribué (DCS) et l&amp;rsquo;API REST Patroni.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="protecting-dcs"&gt;Protection du SCD&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni et &lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl"&gt;patronictl&lt;/a&gt;&#10; stockent et récupèrent des données auprès du DCS.&lt;/p&gt;&#10;&lt;p&gt;Bien que le DCS ne contienne aucune information sensible, il permet de modifier certaines configurations de Patroni/PostgreSQL. Par conséquent, la première mesure à prendre est de protéger le DCS lui-même.&lt;/p&gt;</description></item><item><title>Haute disponibilité multi-centre de données</title><link>https://pig.center/fr/docs/patroni/ha_multi_dc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/ha_multi_dc/</guid><description>&lt;p&gt;&lt;a id="ha_multi_dc"&gt;&lt;/a&gt;&#10;La haute disponibilité d’un cluster PostgreSQL déployé dans plusieurs centres de données repose sur la réplication, qui peut être synchrone ou asynchrone (voir &lt;a href="https://pig.center/fr/docs/patroni/replication_modes/#replication_modes"&gt;modes de réplication&lt;/a&gt;&#10;).&lt;/p&gt;&#10;&lt;p&gt;Dans les deux cas, il est important de bien comprendre les concepts suivants :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;PostgreSQL peut fonctionner en tant que leader primaire ou en mode standby uniquement lorsqu&amp;rsquo;il détient la clé de leadership et peut mettre à jour cette clé.&lt;/li&gt;&#10;&lt;li&gt;Vous devez exécuter un nombre impair de nœuds etcd, ZooKeeper ou Consul : 3 ou 5 !&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="synchronous-replication"&gt;Réplication synchrone&#10;&lt;/h2&gt;&#10;&lt;p&gt;Pour disposer d’un cluster multi-DC pouvant tolérer automatiquement la perte d’une zone, un minimum de 3 est requis.&lt;/p&gt;</description></item><item><title>2. HAProxy Architecture</title><link>https://pig.center/fr/docs/haproxy/management-architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/management-architecture/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est un démon multithreadé, basé sur des événements et non bloquant. Cela signifie qu’il utilise la multiplexion d’événements pour planifier toutes ses activités, plutôt que de dépendre du système pour planifier entre plusieurs activités. La plupart du temps, il s’exécute sous la forme d’un seul processus, de sorte que la sortie de la commande « ps aux » sur un système ne répertorie qu’un seul processus « HAProxy », sauf en cas de rechargement doux en cours, auquel cas un processus ancien peut encore s’exécuter en parallèle du nouveau. Il est donc toujours facile de suivre son activité à l’aide de l’outil strace. Pour s’adapter au nombre de processeurs disponibles, HAProxy démarre, par défaut, un thread worker par processeur sur lequel il est autorisé à s’exécuter. À moins d’être configuré autrement, le trafic entrant est réparti entre tous ces threads, chacun exécutant la même boucle d’événements. Une grande attention est portée à limiter les dépendances entre threads au strict minimum, afin de tenter d’obtenir une scalabilité quasi linéaire. Cela a certaines conséquences, notamment le fait qu’une connexion donnée soit servie par un seul thread. Ainsi, pour utiliser toute la capacité de traitement disponible, il faut disposer d’au moins autant de connexions que de threads, ce qui est presque toujours le cas.&lt;/p&gt;</description></item><item><title>Internes</title><link>https://pig.center/fr/docs/etcd/dev-internal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-internal/</guid><description>&lt;!-- Local OINK section index for the upstream dev-internal document group. --&gt;</description></item><item><title>Apprentissage</title><link>https://pig.center/fr/docs/etcd/learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/</guid><description/></item><item><title>Modèle de données</title><link>https://pig.center/fr/docs/etcd/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/data_model/</guid><description>&lt;p&gt;etcd est conçu pour stocker de manière fiable des données peu fréquemment mises à jour et fournir des requêtes de surveillance fiables. etcd expose les versions antérieures des paires clé-valeur afin de prendre en charge des instantanés à faible coût et les événements de historique de surveillance (« requêtes de voyage dans le temps »). Un modèle de données persistant, à plusieurs versions et contrôlant la concurrence s’adapte parfaitement à ces cas d’utilisation.&lt;/p&gt;</description></item><item><title>etcd conception client</title><link>https://pig.center/fr/docs/etcd/learning/design-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/design-client/</guid><description>&lt;h1 id="conception-du-client-etcd"&gt;Conception du client etcd&#10;&lt;/h1&gt;&#10;&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;&#10;&lt;h1 id="introduction"&gt;Introduction&#10;&lt;/h1&gt;&#10;&lt;p&gt;Le serveur etcd a démontré sa robustesse au fil de nombreuses années de tests d&amp;rsquo;injection d&amp;rsquo;erreurs. La logique d&amp;rsquo;application la plus complexe est déjà gérée par le serveur etcd et ses magasins de données (par exemple, la gestion de l&amp;rsquo;appartenance au cluster est transparente pour les clients, les propositions étant acheminées au leader au niveau du protocole Raft). Bien que les composants du serveur soient corrects, leur interaction avec les clients nécessite un ensemble différent de protocoles complexes afin de garantir leur correction et une haute disponibilité en cas de défaillance. Idéalement, le serveur etcd fournit une vue logique unique d&amp;rsquo;un cluster composé de plusieurs machines physiques, et le client implémente un basculement automatique entre les réplicas. Ce document décrit les choix architecturaux du client ainsi que leurs détails d&amp;rsquo;implémentation.&lt;/p&gt;</description></item><item><title>etcd design membre apprenant</title><link>https://pig.center/fr/docs/etcd/learning/design-learner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/design-learner/</guid><description>&lt;h1 id="etcd-membre-apprenant"&gt;etcd Membre apprenant&#10;&lt;/h1&gt;&#10;&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;&#10;&lt;h1 id="contexte"&gt;Contexte&#10;&lt;/h1&gt;&#10;&lt;p&gt;La reconfiguration du membership a été l’un des plus grands défis opérationnels. Examinons les défis courants.&lt;/p&gt;&#10;&lt;h3 id="1-new-cluster-member-overloads-leader"&gt;1. Nouveau membre de cluster surcharge le leader&#10;&lt;/h3&gt;&#10;&lt;p&gt;Un membre etcd nouvellement joint démarre sans données, ce qui entraîne un plus grand nombre de mises à jour provenant du leader jusqu’à ce qu’il rattrape la log du leader. Le réseau du leader est alors plus susceptible d’être surchargé, bloquant ou perdant les battements de cœur envoyés aux suiveurs. Dans ce cas, un suiveur peut atteindre son délai d’élection et déclencher une nouvelle élection de leader. Ainsi, un cluster comportant un nouveau membre est plus vulnérable à une élection de leader. À la fois l’élection de leader et la propagation ultérieure des mises à jour vers le nouveau membre sont sujettes à provoquer des périodes d’indisponibilité du cluster (voir &lt;em&gt;Figure 1&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>etcd conception de l'authentification v3</title><link>https://pig.center/fr/docs/etcd/learning/design-auth-v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/design-auth-v3/</guid><description>&lt;h2 id="why-not-reuse-the-v2-auth-system"&gt;Pourquoi ne pas réutiliser le système d&amp;rsquo;authentification v2 ?&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le protocole v3 utilise gRPC comme transport, à la place d&amp;rsquo;une interface RESTful comme dans la v2. Ce nouveau protocole offre l&amp;rsquo;opportunité d&amp;rsquo;améliorer et d&amp;rsquo;évoluer la conception de la v2. Par exemple, l&amp;rsquo;authentification v3 repose sur une authentification basée sur la connexion, contrairement à l&amp;rsquo;authentification par requête plus lente de la v2. En outre, les sémantiques de l&amp;rsquo;authentification v2 s&amp;rsquo;avèrent souvent peu pratiques en pratique lorsqu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;assurer la cohérence, ce qui sera expliqué dans les sections suivantes. Pour la v3, une description et une implémentation clairement définies du mécanisme d&amp;rsquo;authentification corrigent les déficiences du système d&amp;rsquo;authentification v2.&lt;/p&gt;</description></item><item><title>etcd API</title><link>https://pig.center/fr/docs/etcd/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/api/</guid><description>&lt;p&gt;Ce document a pour objectif de présenter une vue d&amp;rsquo;ensemble des principes fondamentaux de l&amp;rsquo;API v3 d&amp;rsquo;etcd.&#10;Il ne doit pas être confondu avec l&amp;rsquo;API etcd v2, dépréciée à partir d&amp;rsquo;etcd v3.5.&#10;Il ne prétend pas être exhaustif, mais vise à se concentrer sur les idées de base nécessaires à la compréhension d&amp;rsquo;etcd, sans les distractions des appels d&amp;rsquo;API moins courants.&#10;Toutes les API etcd sont définies dans des services &lt;a href="https://github.com/etcd-io/etcd/blob/main/api/etcdserverpb/rpc.proto"&gt;gRPC&lt;/a&gt;&#10;, qui catégorisent les appels de procédure distante (RPC) compris par le serveur etcd.&#10;Une liste complète de toutes les RPC etcd est documentée au format markdown dans le &lt;a href="https://pig.center/fr/docs/etcd/dev-guide/api_reference_v3/"&gt;listing des API gRPC&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>etcd fichiers de stockage persistant</title><link>https://pig.center/fr/docs/etcd/learning/persistent-storage-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/persistent-storage-files/</guid><description>&lt;p&gt;Ce document explique le format de stockage persistant d’etcd : nomenclature, contenu et outils permettant aux développeurs d’en inspecter le contenu. À l’avenir, ce document devrait être mis à jour pour refléter les évolutions du modèle de stockage. Il s’adresse aux développeurs d’etcd afin de les aider dans leurs besoins de récupération de données.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les articles suivants fournissent des informations de fond utiles pour ce document :&lt;/p&gt;</description></item><item><title>etcd Garanties de l'API</title><link>https://pig.center/fr/docs/etcd/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/api_guarantees/</guid><description>&lt;p&gt;etcd est un magasin clé-valeur cohérent et durable.&#10;Le magasin clé-valeur est exposé via des [services gRPC].&#10;etcd garantit les plus fortes garanties de cohérence et de durabilité pour un système distribué.&#10;Cette spécification énumère les garanties d&amp;rsquo;API offertes par etcd.&lt;/p&gt;&#10;&lt;h3 id="apis-to-consider"&gt;API à prendre en compte&#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;APIs KV&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#range"&gt;Range&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#rangestream"&gt;RangeStream&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#put"&gt;Put&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#delete-range"&gt;Delete&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#transaction"&gt;Transaction&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;APIs de surveillance&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#watch-api"&gt;Surveillance&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;APIs de bail&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#obtaining-leases"&gt;Octroyer&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;[Révoquer]&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#keep-alives"&gt;Maintien de vie&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;L&amp;rsquo;API KV permet de lire et de manipuler directement le magasin de paires clé-valeur.&#10;L&amp;rsquo;API surveillance permet de s&amp;rsquo;abonner aux modifications apportées au magasin de paires clé-valeur.&#10;L&amp;rsquo;API bail permet d&amp;rsquo;attribuer une durée de vie à une clé.&lt;/p&gt;</description></item><item><title>etcd par rapport aux autres magasins clé-valeur</title><link>https://pig.center/fr/docs/etcd/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/why/</guid><description>&lt;p&gt;Le nom « etcd » provient de deux idées : le dossier unix « /etc » et les systèmes « d »istribués. Le dossier « /etc » est un emplacement destiné au stockage des données de configuration d’un système unique, tandis qu’etcd stocke les informations de configuration pour des systèmes distribués à grande échelle. Ainsi, un « d »istribué « /etc » devient « etcd ».&lt;/p&gt;&#10;&lt;p&gt;etcd est conçu comme une base commune pour les systèmes distribués à grande échelle. Il s&amp;rsquo;agit de systèmes qui ne tolèrent jamais une opération en split-brain et sont prêts à sacrifier la disponibilité pour atteindre cet objectif. etcd stocke les métadonnées de manière cohérente et résistante aux pannes. Un cluster etcd vise à offrir un stockage clé-valeur avec une stabilité, une fiabilité, une évolutivité et des performances de niveau supérieur.&lt;/p&gt;</description></item><item><title>Pourquoi utiliser une passerelle gRPC</title><link>https://pig.center/fr/docs/etcd/dev-guide/api_grpc_gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/api_grpc_gateway/</guid><description>&lt;p&gt;etcd v3 utilise &lt;a href="https://www.grpc.io/"&gt;gRPC&lt;/a&gt;&#10; comme protocole de messagerie. Le projet etcd inclut un client &lt;a href="https://github.com/etcd-io/etcd/tree/main/client/v3"&gt;Go&lt;/a&gt;&#10; basé sur gRPC ainsi qu&amp;rsquo;une utilitaire en ligne de commande, &lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt;&#10;, pour communiquer avec un cluster etcd via gRPC. Pour les langages ne disposant pas de prise en charge gRPC, etcd fournit une passerelle &lt;a href="https://github.com/grpc-ecosystem/grpc-gateway"&gt;gRPC&lt;/a&gt;&#10; en JSON. Cette passerelle fournit un proxy RESTful qui traduit les requêtes HTTP/JSON en messages gRPC.&lt;/p&gt;&#10;&lt;h2 id="using-grpc-gateway"&gt;Utilisation de la passerelle gRPC&#10;&lt;/h2&gt;&#10;&lt;p&gt;La passerelle accepte une correspondance &lt;a href="https://developers.google.com/protocol-buffers/docs/proto3#json"&gt;JSON&lt;/a&gt;&#10; pour les définitions de messages du protocole buffer &lt;a href="https://pig.center/fr/docs/etcd/dev-guide/api_reference_v3/"&gt;de etcd&lt;/a&gt;&#10;. Notez que les champs &lt;code&gt;key&lt;/code&gt; et &lt;code&gt;value&lt;/code&gt; sont définis comme des tableaux d&amp;rsquo;octets et doivent donc être encodés en base64 dans le JSON. Les exemples suivants utilisent &lt;code&gt;curl&lt;/code&gt;, mais tout client HTTP/JSON devrait fonctionner de la même manière.&lt;/p&gt;</description></item><item><title>Modes de défaillance</title><link>https://pig.center/fr/docs/etcd/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/failures/</guid><description>&lt;p&gt;Les défaillances sont fréquentes dans un déploiement à grande échelle de machines. Une machine défaillante est une machine dont le matériel ou le logiciel présente une anomalie. Plusieurs machines peuvent défaillir simultanément en cas de panne de courant ou de problèmes réseau. Plusieurs types de défaillances peuvent également survenir en même temps ; il est presque impossible d’énumérer toutes les situations de défaillance possibles.&lt;/p&gt;&#10;&lt;p&gt;Dans cette section, nous recensons les types d&amp;rsquo;pannes et discutons de la manière dont etcd est conçu pour y résister. La plupart des utilisateurs, sinon tous, peuvent associer une panne particulière à un type de panne spécifique. Pour se préparer aux rares pannes &lt;a href="https://pig.center/fr/docs/etcd/op-guide/recovery/"&gt;irréversibles&lt;/a&gt;&#10;, il est toujours &lt;a href="https://pig.center/fr/docs/etcd/op-guide/maintenance/#snapshot-backup"&gt;recommandé de sauvegarder&lt;/a&gt;&#10; le cluster etcd.&lt;/p&gt;</description></item><item><title>Performances</title><link>https://pig.center/fr/docs/etcd/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;Comprendre les performances&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd offre des performances stables et élevées de manière soutenue. Deux facteurs définissent les performances : la latence et le débit. La latence correspond au temps nécessaire pour accomplir une opération. Le débit correspond au nombre total d&amp;rsquo;opérations effectuées durant une période donnée. En général, la latence moyenne augmente lorsque le débit global augmente, lorsque etcd accepte des requêtes clientes concurrentes. Dans des environnements cloud courants, comme une instance standard &lt;code&gt;n-4&lt;/code&gt; sur Google Compute Engine (GCE) ou un type de machine équivalent sur AWS, un cluster etcd composé de trois membres exécute une requête en moins d&amp;rsquo;une milliseconde en charge légère, et peut traiter plus de 30 000 requêtes par seconde en charge lourde.&lt;/p&gt;</description></item><item><title>Conception de la reconfiguration à l'exécution</title><link>https://pig.center/fr/docs/etcd/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;La reconfiguration à l’exécution est l’une des fonctionnalités les plus complexes et sujettes aux erreurs dans un système distribué, en particulier dans un système fondé sur le consensus comme etcd.&lt;/p&gt;&#10;&lt;p&gt;Lisez la suite pour en savoir plus sur la conception des commandes de reconfiguration en cours d&amp;rsquo;exécution d&amp;rsquo;etcd et sur la manière dont nous avons résolu ces problèmes.&lt;/p&gt;&#10;&lt;h2 id="two-phase-config-changes-keep-the-cluster-safe"&gt;Les modifications de configuration en deux phases maintiennent le cluster en sécurité&#10;&lt;/h2&gt;&#10;&lt;p&gt;Dans etcd, toute reconfiguration en cours d&amp;rsquo;exécution doit suivre &lt;a href="https://pig.center/fr/docs/etcd/op-guide/runtime-configuration/#add-a-new-member"&gt;deux phases&lt;/a&gt;&#10; pour des raisons de sécurité. Par exemple, pour ajouter un membre, il faut d&amp;rsquo;abord informer le cluster de la nouvelle configuration, puis démarrer le nouveau membre.&lt;/p&gt;</description></item><item><title>Gestion des versions</title><link>https://pig.center/fr/docs/etcd/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/versioning/</guid><description>&lt;p&gt;Ce document décrit les versions prises en charge par le projet etcd.&lt;/p&gt;&#10;&lt;h2 id="service-versioning-and-supported-versions"&gt;Versioning des services et versions prises en charge&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les versions d&amp;rsquo;etcd sont exprimées sous la forme &lt;strong&gt;x.y.z&lt;/strong&gt;, où &lt;strong&gt;x&lt;/strong&gt; représente la version majeure, &lt;strong&gt;y&lt;/strong&gt; la version mineure et &lt;strong&gt;z&lt;/strong&gt; la version de correctif, conformément à la terminologie &lt;a href="https://semver.org/"&gt;Semantic Versioning&lt;/a&gt;&#10;.&#10;Les nouvelles versions mineures peuvent ajouter des fonctionnalités supplémentaires à l&amp;rsquo;API.&lt;/p&gt;&#10;&lt;p&gt;Le projet etcd maintient des branches de version pour la version actuelle et les versions précédentes. Par exemple, lorsque v3.5 est la version actuelle, v3.4 est prise en charge. Lorsque v3.6 est publiée, v3.4 n&amp;rsquo;est plus pris en charge.&lt;/p&gt;</description></item></channel></rss>