BT

Service Discovery avec Consul

| par Carlos Sanchez Suivre 0 Abonnés , traduit par Julien Vey Suivre 0 Abonnés le 26 janv. 2015. Durée de lecture estimée: 2 minutes |

Consul, développé par HashiCorp, est une solution pour la découverte de services et la configuration, conçu pour fonctionner de manière distribuée, hautement disponible et évolutive pour des milliers de nœuds.

Consul est utilisé pour la découverte de services, les configurations clé/valeur et la partie Health Checking. Il fonctionne de la même manière que Zookeeper, doozerd ou etcd, mais ajoute une interface DNS pour la découverte de services, utile pour les services existants ou anciens, et se présente comme une solution avec une meilleure scalabilité en utilisant un protocole de gossip. Consul fournit des services de monitoring dans une architecture entièrement distribuée contrairement à d'autres outils. Nagios utilise des serveurs centraux pour interroger des services et Sensu un broker central pour gérer les notifications de service, ce qui peut entraîner des problèmes d'échelle.

Il existe également des différences avec des outils plus modernes de découverte de service. SkyDNS fournit également une interface pour effectuer des requêtes DNS, mais les contrôles de monitoring utilisent un système de heartbeat et des TTLs, alors que Consul permet de définir des vérifications personnalisées, ainsi que le support de multiples datacenters nativement. SmartStack, un projet lancé par Airbnb, est un framework de découverte et enregistrement de services composé de ZooKeeper, HAProxy et deux projets open source Airbnb, Synapse et Nerve, utilisé pour la découverte et l'enregistrement de services. Consul est le seul outil utilisant un protocole de gossip, réclamant une meilleure évolutivité et le suivi entièrement dynamique des nœuds du cluster. Une comparaison avec d'autres logiciels explique plus en détail les différences avec les outils mentionnés et d'autres généralement utilisés dans les mêmes scénarios.

Les clusters Consul sont composés des clients et des serveurs, la principale différence étant que seuls les derniers stockent des données, et utilisent la détection automatique. Lectures et écritures peuvent être faites sur n'importe quel membre du cluster. Les services sont enregistrés à l'aide des fichiers de configuration ou via une API HTTP contre n'importe quel agent (client ou serveur) dans le cluster. Les services enregistrés et les nœuds peuvent être interrogés en utilisant à la fois une interface HTTP et une interface DNS, ce qui le rend facile à utiliser sans modification des services existants.

Le protocole de gossip utilisé pour gérer les messages d'adhésion et de diffusion au cluster est fourni par la bibliothèque Serf, un autre projet Hashicorp, basé sur le papier "SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol" publié par le Département d'informatique à l'Université Cornell.

Consul peut être approvisionné avec Puppet, comme décrit par Ben Schwartz, qui a inclus des exemples utilisant des box Vagrant, montrant comment activer une application de démonstration Spring Boot en utilisant un module Puppet pour configurer Consul et le module Dnsmasq de Puppet qui route à l'agent Consul toutes les requêtes DNS se terminant en .consul.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT