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.