Découverte de service dans les systÚmes distribués à l'aide de l'exemple Consul. Alexander Sigachev

Je propose de me familiariser avec le décodage du rapport d'Alexander Sigachev Service Discovery en systÚmes distribués sur l'exemple de Consul.


Service Discovery a été créé pour que vous puissiez connecter à moindre coût une nouvelle application à notre environnement existant. En utilisant Service Discovery, nous pouvons maximiser la séparation d'un conteneur sous forme de docker ou d'un service virtuel de l'environnement dans lequel il s'exécute.



Je salue tout le monde! Je suis Alexander Sigachev, je travaille pour Inventos. Et aujourd'hui, je vais vous présenter un concept tel que la découverte de service. Nous considérerons Service Discovery sur l'exemple de Consul.



Quels sont les problÚmes résolus par Service Discovery?


Service Discovery a été créé pour que vous puissiez connecter à moindre coût une nouvelle application à notre environnement existant. En utilisant Service Discovery, nous pouvons maximiser la séparation d'un conteneur sous forme de docker ou d'un service virtuel de l'environnement dans lequel il s'exécute.


À quoi cela ressemble-t-il? Dans l'exemple Web classique, il s'agit du frontend qui accepte la demande d'un utilisateur. Il l'achemine ensuite vers le backend. Dans cet exemple, cet Ă©quilibreur de charge s'Ă©quilibre sur deux serveurs principaux.



, . , , Service Discovery. Service Discovery load-balancer. Load-balancer backend . backend, , , .



Service Discovery?


Service Discovery nginx, backend-.



Service Discovery , .


?


  • , , Service Discovery, .
  • Service Discovery .
  • , Service Discovery, , , , .

, . , , , Service Discovery. , Service Discovery .


- , , , .



. Load-balancer nginx . , Consul. consul-template. . , ( Golang). , , , Service Discovery «reload». , nginx .



Consul?


  • – Service Discovery.


  • – Health Checking.


  • KV Store.


  • Multi Datacenter.



? KV Store . Health Checking . Multi Datacenter , . , Amazon , -, , , , .



, Consul .


  • Consul – , Go. Go – 1 , . .
  • , .
  • «datacenter» - .
  • Consensus – raft. , Consul. , .
  • Gossip – , . . - . , , . , .
  • LAN Gossip – -.
  • WAN Gossip – , -. , .
  • RPC – .

RPC. , Consul . . . , , .


, . , . , , , .



, . , . . , UDP/TCP. - . .



API Consul?


, API Consul.


DNS API. Consul 8600 . , DNS. IP-.


HTTP API – 8500 JSON , IP , host, . token.



, Consul?


, . Agent . . , .


– production. . , bootstrap , . . , . , , , . . , , bootstrap, . , .


. , , . , .



Health Checks?


Consul Json . – google.com. , 30 . , .


– . curl localhost 10 .


Service Discovery. , .



Consul UI-, . , .


«». , , Consul. . -, .



«Nodes». , -. , , . . , . - , .


Consul , .



: -, Consul ?


: - . – -, . . Consul.


: . . Consul -?


: . -. – - . , , , .


: , -, Service Discovery - , Consul?


: . , . , name, . Consul.


: UI . UI, , production-. ? ? - ?


: UI Service Discovery. .


: ?


: Consul localhost. , - proxy. .


: ? Health Checks. , .


: , .


: , .


: – .


: Service Discovery Consul ?


: . – , . , -, 1- . , , Kubernetes, . Kubernetes Service Discovery Etcd. , Consul. Service Discovery Consul.


: ? Consul , ?


: . , .


: Consul ?


: , . , , service.consul. . production , , , DNS.


: . . , Consul, , ?


RĂ©ponse: oui. Si nous travaillons sur DNS, cela fonctionne comme sans Consul lorsque nous utilisons des noms DNS. Habituellement, les applications modernes ne tirent pas le nom de domaine dans chaque demande, car nous avons installĂ© connect, tout fonctionne et dans un avenir proche, nous ne l'utilisons pratiquement pas. Si la connexion est rompue, alors - oui, nous demandons Ă  nouveau oĂč nous avons la base et y allons.

Source: https://habr.com/ru/post/undefined/


All Articles