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

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

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

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

ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° 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, Π΅, ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ 1 Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΡΡΠ΅. Π‘ΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΎΡ Π²ΡΡΠΊΠΎ ΠΌΡΡΡΠΎ ΠΈ Π½ΡΠΌΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
- ΠΠΎ-Π½Π°ΡΠ°ΡΡΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΡΠ²ΡΡ.
- Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΡΡ '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 Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°, Ρ ΠΎΡΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡ. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½Π° ΡΡΠ΅Π· token.

ΠΠ°ΠΊΠ²ΠΎ Π΅ Π½ΡΠΆΠ½ΠΎ, Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Consul?
Π ΠΏΡΡΠ²ΠΈΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΡΠ»Π°Π³, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Agent ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡ. Π ΡΡΠ»Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π½Π° Π΅Π΄Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. Π£Π΄ΠΎΠ±Π½ΠΎ, Π±ΡΡΠ·ΠΎ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π΅Π½ ΡΡΠ°ΡΡ.
ΠΡΠΎΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π² production. Π’ΡΠΊ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΎ. ΠΠΊΠΎ Π½ΡΠΌΠ°ΠΌΠ΅ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΡΠ»Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌ ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π² 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, Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°? ΠΡΠ΄Π΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅? ΠΠΎΠΆΠ΅ Π»ΠΈ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΌΡΠ»ΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π UI Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° ΠΎΡ Π±Π°Π·Π°ΡΠ° ΠΈ ΠΎΡ Service Discovery. ΠΠ°ΡΠΎΠ»ΠΈΡΠ΅ ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ.
ΠΡΠΏΡΠΎΡ: ΠΠΎΠΆΠ΅ Π»ΠΈ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Consul ΡΡΠ°ΡΡΠΈΡΠ° Π½Π° localhost. ΠΠ° Π΄Π° Π³ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΌΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ Π½ΡΠΊΠ°ΠΊΡΠ² proxy. ΠΠ° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ° ΡΠ°ΠΌΠΈ Π½ΠΎΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ.
ΠΡΠΏΡΠΎΡ: ΠΠ·Π²Π΅ΠΆΠ΄Π° Π»ΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΎ? ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ Health Checks. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π°ΠΊΠΎ ΡΡΡΠ²ΡΡΡΡ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΡΠΈΠ²Π°.
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ ΡΡΠΌ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ ΡΠ°ΠΌ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠ΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π΅ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ»ΠΊΠΎ Π²Π°ΠΆΠ½Π° Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ°.
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ° Π°Π½Π°Π»ΠΈΠ· β Π΄Π°.
ΠΡΠΏΡΠΎΡ: Service Discovery Π·Π° docker Ρ Consul ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ Π±ΠΈΡ Π³ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π» Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. Π¦Π΅Π»ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΉ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» ΠΏΡΡΡ ΡΠΈ, ΠΏΠΎ ΠΌΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π΄ΠΎ ΠΏΡΡΠ²Π° Π²Π΅ΡΡΠΈΡ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎ-ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Kubernetes, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. Π ΡΡΡΡΠ°Π²Π° ΡΠΈ Kubernetes Service Discovery ΠΎΡΡΡΡΠΏΠ²Π° Π½Π° Etcd. ΠΠΎ Π½Π΅ ΡΡΠΌ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ Π½Π΅Π³ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Ρ Consul. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ Π΄Π° ΠΈΠ»ΡΡΡΡΠΈΡΠ°ΠΌ Service Discovery Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Consul.
ΠΡΠΏΡΠΎΡ: Π‘Ρ Π΅ΠΌΠ°ΡΠ° Ρ Π»ΠΈΠ΄Π΅ΡΡΠΊΠΈΡ ΡΡΡΠ²ΡΡ Π½Π΅ Π·Π°Π±Π°Π²Ρ Π»ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ? Π ΠΊΠ°ΠΊ Consul ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ, Π°ΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΡΡ Π΅ ΠΏΠ°Π΄Π½Π°Π»?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΡΠΈ ΡΡΡ Π΅ ΠΎΠΏΠΈΡΠ°Π½ ΡΡΠ» ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠΊΠΎ Π²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅.
ΠΡΠΏΡΠΎΡ: Consul ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π»ΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π΅Π½ ΡΡΡΠ²ΡΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΏΡΠ΅Π· Π½Π΅Π³ΠΎ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π’ΠΎΠΉ Π½Π΅ Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π΅Π½ ΡΡΡΠ²ΡΡ, Π° ΠΎΠΏΠ΅ΡΠΈΡΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·ΠΎΠ½Π°. Π’Π°Π·ΠΈ Π·ΠΎΠ½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π° Π½Π° service.consul. Π ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ»Π΅Π΄Π²Π°ΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°. ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ, Π° Π²ΡΡΡΠ΅ΡΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ ΡΠΊΡΠΈΡa Π·Π°Π΄ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΠΎ DNS.
ΠΡΠΏΡΠΎΡ: Π’ΠΎΠ΅ΡΡ, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΠΌ Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ°ΠΌΠ΅ Consul, Π·Π° Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ ΠΊΡΠ΄Π΅ Π΅ ΡΠ°Π·ΠΈ Π±Π°Π·Π°, Π½Π°Π»ΠΈ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ°. ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΠΎ DNS, ΡΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΡΠΎ Π±Π΅Π· Consul, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ DNS ΠΈΠΌΠ΅Π½Π°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ DNS Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Π·Π° Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ°, Π·Π°ΡΠΎΡΠΎ Π²Π΅ΡΠ΅ ΡΠΌΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²ΡΡΠ·ΠΊΠ° ΠΈ ΡΠ°Π±ΠΎΡΠΈ, ΠΊΠ°ΡΠΎ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ. ΠΠΊΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π΅, ΡΠΎΠ³Π°Π²Π° β Π΄Π°, ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π±Π°Π·Π°ΡΠ° ΠΈ ΠΎΡΠΈΠ²Π°ΠΌΠ΅ ΠΏΡΠΈ Π½Π΅Ρ.
β Π§Π°Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Hashicorp: Consul, Nomad, Terraform
P.S. ΠΠ° health checks. Π Consul, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² Kubernetes, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΆΠΈΠ²ΡΡΠ΅ΡΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄.
200 OK Π·Π° Π·Π΄ΡΠ°Π²ΠΈ
503 Service Unavailable Π·Π° Π½Π΅Π·Π΄ΡΠ°Π²ΠΈΠΠ·ΡΠΎΡΠ½ΠΈΡΠΈ:
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
