ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ Ρ ΡΠ°Π·ΡΠΈΡΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ Π‘ΠΈΠ³Π°ΡΠ΅Π² Π·Π° Service Discovery Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Consul.
Service Discovery Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΡΠ΅Π» ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° Π½ΠΈ ΡΡΠ΅Π΄Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Service Discovery, ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² Docker ΡΠΎΡΠΌΠ°Ρ, ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½.

ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ! ΠΠ· ΡΡΠΌ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ Π‘ΠΈΠ³Π°ΡΠ΅Π², ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Inventos. Π Π΄Π½Π΅Ρ ΡΠ΅ Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ Service Discovery. Π©Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Service Discovery Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Consul.

ΠΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ΡΠ°Π²Π° Service Discovery? Service Discovery Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΡΠ΅Π» ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° Π½ΠΈ ΡΡΠ΅Π΄Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Service Discovery, ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² Docker ΡΠΎΡΠΌΠ°Ρ, ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½.
ΠΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠΎΠ²Π°? ΠΠ° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ΅Π±ΡΠ°ΠΉΡΠ° β ΡΠΎΠ²Π° Π΅ ΡΡΠΎΠ½ΡΠ΅Π½Π΄, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΊΡΠΌ Π±Π΅ΠΊΠ΅Π½Π΄Π°. Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ β load-balancer ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°.

Π’ΡΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ΅ΡΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°, ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² Service Discovery. Service Discovery ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π° load-balancer. Load-balancer Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΡΠΈ ΠΈ Π½ΠΎΠ²ΠΈΡΡ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΎΡΠΈΠ², Π΄Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°.

ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Service Discovery? Π Service Discovery ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° nginx, ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΡΠΏΠΈΡΡΠΊ Ρ Π°ΠΊΡΠΈΠ²Π½ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄-ΡΡΡΠ²ΡΡΠΈ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, 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 Π΅, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π΅Π΄ΠΈΠ½ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ²Π°Π»ΡΡΠ΅. Π‘ΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΎΡ Π²ΡΡΠΊΠΎ ΠΌΡΡΡΠΎ ΠΈ Π½ΡΠΌΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
- Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΡΠ²ΡΡ.
- Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΡΡ βdatacenterβ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈ ΠΊΡΠΌ ΠΊΠΎΠΉ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΡΡ.
- Consensus ΡΠ΅ Π±Π°Π·ΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° raft. ΠΠΊΠΎ Π½ΡΠΊΠΎΠΉ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° Π½Π΅Π³ΠΎ Π½Π° ΡΠ°ΠΉΡΠ° Π½Π° Consul. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π»ΠΈΠ΄Π΅Ρ ΠΈ Π΄Π° ΡΠ΅ ΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΈ Π΄Π°Π½Π½ΠΈ Π΄Π° ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° Π²Π°Π»ΠΈΠ΄Π½ΠΈ ΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ.
- Gossip β ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅. Π ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ, Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ ΠΎΠ±ΡΡΠ²Π°Ρ ΡΡΡ ΡΡΡΠ΅Π΄ΠΈΡΠ΅ ΡΠΈ. Π, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠΌ. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΡΠΎΠ²Π° ΡΠ° ΠΊΠ»ΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ΅Π΄ΠΈΡΠ΅.
- LAN Gossip β Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ΅Π΄ΠΈΡΠ΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ.
- WAN Gossip β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΌΠΈΠ½Π°Π²Π° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡΠΈ.
- RPC β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊΡΠΌ ΡΡΡΠ²ΡΡΠ°.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° RPC. ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΈΠ»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ²ΡΡ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ Consul Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ. ΠΠ±ΡΠ°ΡΠ°ΠΌΠ΅ ΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΡΠΌ Π½Π΅Π³ΠΎ. Π ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π°ΠΏΠΈΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΡΡΠ²ΡΡΠ° ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π° Ρ Π»ΠΈΠ΄Π΅ΡΠ°, Ρ Π³Π»Π°Π²Π½ΠΈΡ ΡΡΡΠ²ΡΡ.
Π’Π΅Π·ΠΈ Π΄Π²Π΅ ΡΡ Π΅ΠΌΠΈ ΠΈΠΌΠ°Ρ ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°, ΡΠ°ΠΊΠ° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ. ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΠΊΠ΅Ρ, ΡΠΎ ΡΠΎΠ²Π° Π΅ Π±ΡΡΠ·ΠΎ. ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΠΎ ΠΎΡΠ½Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΠΎ-Π°ΠΊΡΡΠ°Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.

ΠΠΊΠΎ ΡΠΎΠ²Π° Π±ΡΠ΄Π΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°. ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ ΡΡΠΈ Π»ΠΈΠ΄Π΅ΡΠ°. ΠΠ΄ΠΈΠ½ Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ ΡΡΡ Π·Π²Π΅Π·Π΄ΠΈΡΠΊΠ° ΠΊΠ°ΡΠΎ Π»ΠΈΠ΄Π΅Ρ. Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΠ±ΠΌΠ΅Π½ΡΡ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΡΡΠ΅Π· UDP/TCP. Π ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈΡΠ΅. Π’ΡΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ.

ΠΠ°ΠΊΡΠ² API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Consul? ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Consul ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π²Π° Π²ΠΈΠ΄Π° API.
Π’ΠΎΠ²Π° Π΅ DNS API. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Consul ΡΡΠ°ΡΡΠΈΡΠ° Π½Π° ΠΏΠΎΡΡ 8600. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠΊΡΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΡΡΠ΅Π· Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅, ΡΡΠ΅Π· Π»ΠΎΠΊΠ°Π»Π΅Π½ DNS. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΏΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° IP Π°Π΄ΡΠ΅ΡΠ° Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡ.
HTTP API β ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π½Π° ΠΏΠΎΡΡ 8500 Π΄Π° ΠΏΠΎΠΈΡΠΊΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΡΠ»ΡΠ³Π° ΠΈ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ JSON ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΊΠ°ΠΊΡΠ² IP Π°Π΄ΡΠ΅Ρ ΠΈΠΌΠ° ΡΡΡΠ²ΡΡΡΡ, ΠΊΠ°ΠΊΡΠ² Ρ ΠΎΡΡ, ΠΊΠ°ΠΊΡΠ² ΠΏΠΎΡΡ Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½. Π Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½Π° ΡΡΠ΅Π· ΡΠΎΠΊΠ΅Π½.

ΠΠ°ΠΊΠ²ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Consul?
Π ΠΏΡΡΠ²ΠΈΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ ΡΠ»Π°Π³, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Agent ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡ. Π ΡΡΠ»Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ΅ Ρ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π½Π° Π΅Π΄Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. Π£Π΄ΠΎΠ±Π½ΠΎ Π΅, Π±ΡΡΠ·ΠΎ Π΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π΅Π½ ΡΡΠ°ΡΡΠ°.
ΠΡΠΎΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ. Π’ΡΠΊ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΠΊΠΎ Π½ΡΠΌΠ°ΠΌΠ΅ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΡΠ»Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌ ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π·Π° bootstrap, Ρ.Π΅. ΡΠ°Π·ΠΈ ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π»ΠΈΠ΄Π΅Ρ. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ Ρ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΎΡΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΏΡΠ΅Π΄Π°Π²Π°ΠΉΠΊΠΈ ΠΌΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° ΠΌΠ°ΡΡΠ΅ΡΡΡ. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ ΡΡΠ΅ΡΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° ΠΎΡ ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈΡ bootstrap, Ρ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π² Π½ΠΎΡΠΌΠ°Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Ρ ΠΈ Π½Π°ΡΠ°Π»Π½ΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π΅ Π²Π΅ΡΠ΅ Π°ΠΊΡΠΈΠ²Π΅Π½.
ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΡΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΎΡ ΡΡΠΈ Π΄ΠΎ ΡΠ΅Π΄Π΅ΠΌ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΡΠ²ΡΡ. Π’ΠΎΠ²Π° Π΅ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π΅Π½ΠΎ ΠΎΡ ΡΠΎΠ²Π°, ΡΠ΅ Π°ΠΊΠΎ Π±ΡΠΎΡΡ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ°ΡΡΠ΅, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°. ΠΡΠΎΡΡ Π½Π° Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π½Π΅ΡΠ΅ΡΠ΅Π½, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΊΠ²ΠΎΡΡΠΌ.

ΠΠ°ΠΊ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Health Checks? Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Consul ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° JSON. ΠΡΡΠ²ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° google.com. Π ΠΊΠ°Π·Π²Π°ΠΌΠ΅, ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. Π’Π°ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π½Π°ΡΠ°ΡΠ° Π½ΠΎΠ΄Π° ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠ½ΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°.
ΠΡΠΎΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°ΠΌΠΈΡ ΡΠ΅Π±Π΅ ΡΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ curl, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ localhost Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ ΡΡΠΌΠΈΡΠ°Ρ ΠΈ ΠΏΠΎΡΡΡΠΏΠ²Π°Ρ Π² Service Discovery. ΠΠ° Π±Π°Π·Π° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ°, ΡΠ΅Π·ΠΈ Π½ΠΎΠ΄ΠΈ ΠΈΠ»ΠΈ ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Ρ, ΠΈΠ»ΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.

Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Consul ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ UI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ»Π°Π³ ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ°. Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΡΠ΅ Π²Π½Π°ΡΡΡ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΠ°Π·Π΄Π΅Π» 'Π‘Π΅ΡΠ²ΠΈΠ·'. ΠΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΅, ΡΠ΅ ΡΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π»ΠΈ ΡΡΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π΅Π΄Π½Π° ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ Consul. ΠΡΠΎΡΡ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. Π ΠΈΠΌΠ° ΡΡΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ°, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅.

Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ°Π·Π΄Π΅Π»Π° Β«NodesΒ». ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ°Ρ ΡΡΡΡΠ°Π²Π½ΠΈ ΠΈΠΌΠ΅Π½Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠΎΠ²Π΅. Π’ΡΠΊ ΡΡΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠΎΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ, Ρ.Π΅. Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ. Π ΡΠ΅Π·ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Consul Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅, Π·Π° ΡΡΠ΅Π΄Π½Π°ΡΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ.
ΠΡΠΏΡΠΎΡΠΈ
ΠΡΠΏΡΠΎΡ: ΠΠΌΠ°ΠΌΠ΅ Π»ΠΈ Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ Consul?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ° Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. ΠΠ΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡΠ΅ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠ½ΡΠ΅Π½ Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΡΠ°. ΠΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° ΡΠΎΠΊΠ΅Ρ ΠΎΡ Docker. ΠΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΠΏΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΎΡΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π² Consul.
ΠΡΠΏΡΠΎΡ: Π’ΠΎΠ΅ΡΡ, Consul ΡΠ°ΠΌ ΡΡΠ°ΡΡΠΈΡΠ° Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅. ΠΠΈΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΡΠΊΠ°Π·Π²Π°ΠΌΠ΅ β ΡΠ»Π΅Π΄ΠΈ ΡΠΎΠ·ΠΈ ΡΠΎΠΊΠ΅Ρ. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠ°ΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΡΠ΄Π΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠΎΠ»ΡΡΠ°Π²Π° ΡΠ΅, ΡΠ΅ Π²ΡΡΡΠ΅ Π² Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΠΌ Ρ Service Discovery, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΠ²Π° Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄Π°Π½Π½ΠΈ Π½Π° Consul?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ ΡΡΠ²ΡΠ΅ΠΌ. ΠΠΎΠ³Π°ΡΠΎ ΡΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠ°, ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΏΠΎΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. Π Π΅Π³ΠΈΡΡΡΡΡΡ ΡΠ»Π΅Π΄ΠΈ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Ρ Π·Π°ΠΏΠΈΡΠ²Π° Π² Consul.
ΠΡΠΏΡΠΎΡ: ΠΠΌΠ°ΠΌ ΠΈ Π²ΡΠΏΡΠΎΡ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π Π°Π·Π³ΡΡΡΠ°Π»ΠΈ ΡΠΌΠ΅ UI, Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π΅Π½ ΡΡΡΠ²ΡΡ. ΠΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°? ΠΡΠ΄Π΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅? ΠΠΎΠΆΠ΅ Π»ΠΈ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΌΡΠ»ΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π UI Π²ΡΡΡΠ½ΠΎΡΡ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈΠ΄Π²Π°Ρ ΠΎΡ Π±Π°Π·Π°ΡΠ° ΠΈ ΠΎΡ Service Discovery. ΠΠ°ΡΠΎΠ»ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠΎΠΆΠ΅ Π»ΠΈ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Consul ΡΡΠ°ΡΡΠΈΡΠ° Π½Π° localhost. ΠΠ° Π΄Π° Π³ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΌΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΏΡΠΎΠΊΡΠΈ. ΠΠ° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΠΌΠ΅ ΡΠ°ΠΌΠΈ.
ΠΡΠΏΡΠΎΡ: ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Ρ Π»ΠΈ ΠΎΡ ΠΊΡΡΠΈΡΡΠ°? ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° Health Checks. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π°ΠΊΠΎ ΡΡΡΠ²ΡΡΡΡ ΡΠ΅ΡΡΠΎ ΠΈΠ·Π»ΠΈΠ·Π° ΠΎΡ ΡΡΡΠΎΡ.
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ ΡΡΠΌ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ ΡΠ°ΠΌ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠ΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π΅ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π²Π°ΠΆΠ½Π° Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ°.
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ° Π°Π½Π°Π»ΠΈΠ· β Π΄Π°.
ΠΡΠΏΡΠΎΡ: Service Discovery Π·Π° Docker Π½Π΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ Consul?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ Π±ΠΈΡ Π³ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π» Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. Π¦Π΅Π»ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π΅ Π΄Π° Π½ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΉ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» ΠΏΡΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 1. ΠΠ΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΈ ΠΏΠΎ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Kubernetes, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΡΠΈΠ²Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°. Π ΡΠ°ΡΡΡΠ° Π·Π° Service Discovery, Kubernetes ΠΎΡΡΡΡΠΏΠ²Π° Π½Π° Etcd. ΠΠΎ Π½Π΅ ΡΡΠΌ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ Π½Π΅Π³ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Ρ Consul. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Consul Π·Π° Service Discovery.
ΠΡΠΏΡΠΎΡ: Π‘Ρ Π΅ΠΌΠ°ΡΠ° Ρ Π»ΠΈΠ΄Π΅ΡΡΠΊΠΈΡ ΡΡΡΠ²ΡΡ Π½Π΅ Π·Π°Π±Π°Π²Ρ Π»ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ? Π ΠΊΠ°ΠΊ Consul ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ, Π°ΠΊΠΎ ΡΠΎΠ·ΠΈ Π΅ ΠΏΠ°Π΄Π½Π°Π»?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π’Π΅ ΠΈΠΌΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½ ΡΡΠ» ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠΊΠΎ Π²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅.
ΠΡΠΏΡΠΎΡ: Consul ΡΠ»ΡΠΆΠΈ Π»ΠΈ Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ»Π΅Π½ ΡΡΡΠ²ΡΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΏΡΠ΅Π· Π½Π΅Π³ΠΎ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π’ΠΎΠΉ Π½Π΅ Π΅ ΠΏΡΠ»Π΅Π½ ΡΡΡΠ²ΡΡ, Π° ΠΎΠ±Ρ Π²Π°ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·ΠΎΠ½Π°. Π’Ρ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π° Ρ service.consul. Π ΠΎΡΡΠ°ΠΌ Π½Π°ΡΠ°ΡΡΠΊ ΡΠ»Π΅Π΄Π²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°. ΠΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½Π° ΡΡΠ΅Π΄Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ ΡΠΊΡΠΈΡΠ° Π·Π°Π΄ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ DNS.
ΠΡΠΏΡΠΎΡ: Π’.Π΅. Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΠΌ Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΈΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΏΠΈΡΠ°ΠΌΠ΅ Consul, Π·Π° Π΄Π° Ρ Π½Π°ΠΌΠ΅ΡΠΈΠΌ Π½Π° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, Π½Π°Π»ΠΈ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ°. ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ DNS, ΡΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π±Π΅Π· Consul, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ DNS ΠΈΠΌΠ΅Π½Π°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΈΡΠ°Ρ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠΌΠ΅ΡΠΎ ΠΏΡΠΈ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ°, Π·Π°ΡΠΎΡΠΎ Π²Π΅ΡΠ΅ ΡΠΌΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ ΠΈ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΠΊΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ° Π΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ°, Π΄Π°, ΠΏΠΈΡΠ°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΊΡΠ΄Π΅ Π΅ Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° ΠΈ ΠΎΡΠΈΠ²Π°ΠΌΠ΅ ΠΊΡΠΌ Π½Π΅Ρ.
β Π§Π°Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Hashicorp: Consul, Nomad, Terraform
P.S. ΠΠ° health checks. Π Consul, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² Kubernetes, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄.
200 OK Π·Π° Π·Π΄ΡΠ°Π²ΠΈ
503 Π£ΡΠ»ΡΠ³Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° Π½Π΅Π·Π΄ΡΠ°Π²ΠΈΠΠ·ΡΠΎΡΠ½ΠΈΡΠΈ:
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
