рдХрдВрд╕реВрд▓ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реАред рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡

рдореИрдВ рдХреЙрдиреНрд╕реБрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡ рд╕рд░реНрд╡рд┐рд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред


рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реА рдмрдирд╛рдИ рдЧрдИ рддрд╛рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд▓рд╛рдЧрдд рдкрд░ рдЖрдк рд╣рдорд╛рд░реЗ рдореМрдЬреВрджрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВред рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдбреЙрдХрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рддреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреА рдЬреБрджрд╛рдИ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдПрдХ рдЖрднрд╛рд╕реА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИред



рдореИрдВ рд╕рднреА рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рджреЗрддрд╛ рд╣реВрдВ! рдореИрдВ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡ рд╣реВрдВ, рдореИрдВ рдЗрдиреНрд╡реЗрдВрдЯреЛрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдРрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдКрдВрдЧрд╛, рдЬреЛ рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реА рд╣реИред рд╣рдо рдХрдВрд╕реВрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред



рд╕рд░реНрд╡рд┐рд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рд╕реЗ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рд▓ рд╣реЛрддреА рд╣реИрдВ?


рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реА рдмрдирд╛рдИ рдЧрдИ рддрд╛рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд▓рд╛рдЧрдд рдкрд░ рдЖрдк рд╣рдорд╛рд░реЗ рдореМрдЬреВрджрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВред рд╕реЗрд╡рд╛ рдбрд┐рд╕реНрдХрд╡рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдбреЙрдХрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рддреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреА рдЬреБрджрд╛рдИ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдПрдХ рдЖрднрд╛рд╕реА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИред


рд╡реЛ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? рдХреНрд▓рд╛рд╕рд┐рдХ рд╡реЗрдм рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рд╡рд╣ рджреГрд╢реНрдп рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмреИрдХрдПрдВрдб рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд░ рджреЛ рдмреИрдХрдПрдВрдб рдкрд░ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред



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


рдЙрддреНрддрд░: рд╣рд╛рдБред рдпрджрд┐ рд╣рдо DNS рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрдм рд╣рдо DNS рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрдВрд╕реБрд▓ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЖрдзреБрдирд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рд░ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдбреЛрдореЗрди рдирд╛рдо рдирд╣реАрдВ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХрдиреЗрдХреНрдЯ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдХрдиреЗрдХреНрдЯ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ, рддреЛ - рд╣рд╛рдВ, рд╣рдо рдлрд┐рд░ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдзрд╛рд░ рдХрд╣рд╛рдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдВред

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


All Articles