Service Discovery em sistemas distribuĂ­dos usando o exemplo Consul. Alexander Sigachev

Proponho me familiarizar com a decodificação do relatório de Alexander Sigachev Service Discovery em sistemas distribuídos no exemplo da Consul.


O Service Discovery foi criado para que, a um custo mínimo, você possa conectar um novo aplicativo ao nosso ambiente existente. Usando o Service Discovery, podemos maximizar a separação de um contêiner na forma de uma janela de encaixe ou de um serviço virtual do ambiente em que está sendo executado.



SaĂşdo todos! Sou Alexander Sigachev, trabalho na Inventos. E hoje vou apresentar um conceito como Service Discovery. Consideraremos o Service Discovery no exemplo do Consul.



Quais problemas o Service Discovery resolve?


O Service Discovery foi criado para que, a um custo mínimo, você possa conectar um novo aplicativo ao nosso ambiente existente. Usando o Service Discovery, podemos maximizar a separação de um contêiner na forma de uma janela de encaixe ou de um serviço virtual do ambiente em que está sendo executado.


Com o que se parece? No exemplo clássico da web, esse é o front-end que aceita a solicitação de um usuário. Em seguida, ele o encaminha para o back-end. Neste exemplo, esse balanceador de carga se equilibra em dois back-end.



, . , , 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, , ?


Resposta: Sim. Se trabalhamos no DNS, ele funciona como sem Consul quando usamos nomes DNS. Normalmente, aplicativos modernos não usam o nome de domínio em todas as solicitações, porque instalamos o connect, tudo funciona e, em um futuro próximo, praticamente não o usamos. Se a conexão estiver interrompida, então - sim, perguntamos novamente onde temos a base e vamos até ela.

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


All Articles