ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π²ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ Ρ ΠΏΡΠ΅ΠΏΠΈΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ Π‘ΠΈΠ³Π°ΡΠ΅Π² Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Consul ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ.
Service Discovery Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π½Π°ΡΠ°ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΡΡΠ΅Π΄Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Service Discovery, ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° ΠΎΡΠ΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΡΡΠ»ΡΠ³Π° ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ.
ΠΡΠΈΠ²Π΅ΡΡΡΠ²Π°ΠΌ Π²ΡΠΈΡΠΊΠΈ! ΠΠ· ΡΡΠΌ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ Π‘ΠΈΠ³Π°ΡΠ΅Π², ΡΠ°Π±ΠΎΡΡ Π·Π° Inventos. Π Π΄Π½Π΅Ρ ΡΠ΅ Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ ΡΠ°ΠΊΠ°Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΊΠ°ΡΠΎ Service Discovery. Π©Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Service Discovery, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Consul ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ΡΠ°Π²Π° Service Discovery? Service Discovery Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π½Π°ΡΠ°ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΡΡΠ΅Π΄Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Service Discovery, ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° ΠΎΡΠ΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΡΡΠ»ΡΠ³Π° ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ.
ΠΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°? Π ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΠΎΠ²Π° Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π·Π°ΡΠ²ΠΊΠ° ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π». Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π³ΠΎ Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ Π±Π΅ΠΊΠ΅Π½Π΄Π°. Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·ΠΈ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ° Π΄Π²Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°.
Π’ΡΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ΅ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°, ΡΠΎ ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° Π² 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. Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½. ΠΠΈΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΡΠΎ. ΠΠΈΠ΅ ΠΊΠ°Π·Π²Π°ΠΌΠ΅, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ (ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π½Π° Golang). ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ ΡΡΠ±ΠΈΡΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ° ΡΠ²Π΅Π΄ΠΎΠΌΠ΅Π½ΠΈ, ΡΠ΅ ΡΠ° Π½Π°ΡΡΡΠΏΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠΎ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅β ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΊΡΠΌ Service Discovery. ΠΠ°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅, ΠΊΠΎΠ³Π°ΡΠΎ nginx ΡΠ΅ ΠΏΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΡΠΈ ΡΡΠ±ΠΈΡΠΈΠ΅ ΠΈ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°.
ΠΠ°ΠΊΠ²ΠΎ Π΅ ΠΊΠΎΠ½ΡΡΠ»?
-
ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, ΡΠΎΠ²Π° Π΅ Service Discovery.
-
ΠΠΌΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° - Health Checking.
-
Π’ΠΎΠΉ ΡΡΡΠΎ ΠΈΠΌΠ° KV Store.
-
Π ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Multi Datacenter.
ΠΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°? Π KV Store ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π·Π΄ΡΠ°Π²Π΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΌΠ΅ΡΡΠ½Π°ΡΠ° ΡΡΠ»ΡΠ³Π° ΠΈ Π΄Π° ΡΠ²Π΅Π΄ΠΎΠΌΠΈΠΌ. Multi Datacenter ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΊΠ°ΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Amazon ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·ΠΎΠ½ΠΈ ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ° ΡΡΠ°ΡΠΈΠΊΠ° ΠΏΠΎ Π½Π°ΠΉ-ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π½Π°ΡΠΈΠ½, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° Π½ΡΠΌΠ° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ°ΠΊΡΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΈΠΌΠ°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² Consul.
- Consul Π΅ ΡΡΠ»ΡΠ³Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Go. ΠΠ΄Π½ΠΎ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Go Π΅ 1 Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΡΠΎΠΊΡ-ΡΠΎ ΡΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠ»ΠΈ. Π‘ΡΠ°ΡΡΠΈΡΠ° ΡΠ΅ ΠΎΡΠ²ΡΡΠΊΡΠ΄Π΅ ΠΈ Π½ΡΠΌΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
- ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΠΈΠ»ΠΈ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ, ΠΈΠ»ΠΈ Π² ΡΡΡΠ²ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
- ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π°ΡΡΠΈΠ±ΡΡΡΡ "datacenter" Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ»Π°Π³ ΠΊΡΠΌ ΠΊΠΎΠΉ ΡΠ΅Π½ΡΡΡ Π·Π° Π΄Π°Π½Π½ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΡΡ.
- ΠΠΎΠ½ΡΠ΅Π½ΡΡΡ - Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΡΠ°Π»Π°. ΠΠΊΠΎ Π½ΡΠΊΠΎΠΉ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° Π½Π° ΡΠ°ΠΉΡΠ° Π½Π° ΠΠΎΠ½ΡΡΠ». Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π»ΠΈΠ΄Π΅ΡΠ° ΠΈ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΊΠΎΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° Π²Π°Π»ΠΈΠ΄Π½ΠΈ ΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ.
- 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?
Π ΠΏΡΡΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡ ΡΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΡΠ»Π°Π³Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΡΠ΅ΠΆΠΈΠΌΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. ΠΠ³Π΅Π½ΡΡΡ ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡ. Π ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ»Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π½Π° Π΅Π΄Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. Π£Π΄ΠΎΠ±Π½ΠΎ, Π±ΡΡΠ·ΠΎ ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΡΠ²ΠΈ ΡΡΠ°ΡΡ.
ΠΡΠΎΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. Π’ΡΠΊ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΡΡΠ°Π²Π° ΠΌΠ°Π»ΠΊΠΎ ΡΡΡΠ΄Π½ΠΎ. ΠΠΊΠΎ Π½ΡΠΌΠ°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΡΠ»Π°, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π²ΠΊΠ°ΡΠ°ΠΌΠ΅ ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π² bootstrap, Ρ.Π΅. ΡΠ°Π·ΠΈ ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΠΎΠ΅ΠΌΠ΅ Π·Π°Π΄ΡΠ»ΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° Π»ΠΈΠ΄Π΅ΡΠ°. ΠΠΎΠ²Π΄ΠΈΠ³Π°ΠΌΠ΅ Π³ΠΎ, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π°ΠΌΠ΅ Π²ΡΠΎΡΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΊΠ°ΡΠΎ ΠΌΡ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΡΠ΄Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π³Π»Π°Π²Π½ΠΈΡ. ΠΠ΄ΠΈΠ³Π½Π΅ΡΠ΅ ΡΡΠ΅ΡΠΈΡ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠΈ Π³ΠΎΡΠΎΠ²ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π½ΠΈΠ΅ ΡΠΌΠ΅ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° ΠΎΡ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° bootstrap ΠΈ Ρ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π² Π½ΠΎΡΠΌΠ°Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ°Π½Π½ΠΈΡΠ΅ ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π²Π΅ΡΠ΅ Π΅ Π³ΠΎΡΠΎΠ².
ΠΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠΈ Π΄ΠΎ ΡΠ΅Π΄Π΅ΠΌ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π² ΡΡΡΠ²ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ. Π’ΠΎΠ²Π° ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π°ΠΊΠΎ Π±ΡΠΎΡΡ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ°ΡΡΠ΅, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°. ΠΡΠΎΡΡ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π½Π΅ΡΠ΅ΡΠ΅Π½, Π·Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΠΊΠ²ΠΎΡΡΠΌ.
ΠΠ°ΠΊ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π·Π΄ΡΠ°Π²Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ? Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Consul ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Json. ΠΡΡΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π² ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° google.com. Π Π½ΠΈΠ΅ ΠΊΠ°Π·Π²Π°ΠΌΠ΅, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΡΠ΅ ΡΠ°Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ Π½Π°ΡΠΈΡΡ Π²ΡΠ·Π΅Π» ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠ½ΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°.
ΠΡΠΎΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ²Π°ΡΠ΅. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡ curl, Π·Π° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ localhost Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°Ρ ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Ρ Π² Service Discovery. ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° ΡΠ΅Π·ΠΈ Π²ΡΠ·Π»ΠΈ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ, ΠΈΠ»ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
Consul ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ UI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ»Π°Π³ ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ°. Π’ΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½. ΠΠΎΠΊΠ°Π·Π°Π½ΠΈ ΡΠ° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΡΡΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π΅Π΄Π½Π° ΠΎΡ ΡΡΡ Π΅ Consul. ΠΡΠΎΡΡ Π½Π° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. Π ΠΈΠΌΠ° ΡΡΠΈ ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅.
Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ°Π·Π΄Π΅Π»Π° "ΠΡΠ·Π»ΠΈ". ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ°Ρ ΡΡΡΡΠ°Π²Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ, Ρ.Π΅. Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π½ΡΠΌΠ° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ°Π³ΠΎΠ²Π΅. Π ΡΠ΅Π·ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π³ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π·Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎ Consul Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅, Π·Π° ΡΡΠ΅Π΄Π½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
ΠΡΠΏΡΠΎΡΠΈ
ΠΡΠΏΡΠΎΡ: ΠΠΌΠ°ΠΌΠ΅ Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ Consul?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π·Π° Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΠ΅ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π° ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΡΠ°. ΠΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π½Π΅Π³ΠΎ ΡΠ΅ Ρ Π²ΡΡΠ»Ρ Π΄ΠΎΠΊΠ΅Ρ ΡΠΎΠΊΠ΅Ρ. ΠΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Ρ Π² Consul.
ΠΡΠΏΡΠΎΡ: Π ΡΠ°ΠΊΠ°, ΡΠ°ΠΌΠΈΡΡ Consul ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Π»ΠΈ Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅. Π Π°Π±ΠΎΡΠΈΠΌ Ρ Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅, Π½ΠΈΠ΅ ΡΡΠΎΡΠ½ΡΠ²Π°ΠΌΠ΅ - ΡΠ»ΡΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΡΠ² ΠΈ ΡΠ°ΠΊΡΠ² ΡΠΎΠΊΠ΅Ρ. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΎΡΠΎ ΠΊΠ°ΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΡΠ΄Π΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ Π²ΡΡΡΠ΅ Π² Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΠΌ Ρ Service Discovery, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΠ²Π° Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π°Π΄Π΅ Π΄Π°Π½Π½ΠΈ Π½Π° Consul?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ ΡΠΎΡΠ½ΠΎ. ΠΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅, Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΡΠ΅Π· ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°, ΠΏΠΎΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΡΠΎΡΠ»ΡΡΠ²Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° ΠΈ Ρ Π²ΡΠ²Π΅ΠΆΠ΄Π° Π² ΠΠΎΠ½ΡΡΠ».
ΠΡΠΏΡΠΎΡ: ΠΠΌΠ°ΠΌ Π΄ΡΡΠ³ Π²ΡΠΏΡΠΎΡ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ ΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ. ΠΠΌΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°? ΠΡΠ΄Π΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅? ΠΠΌΠ° Π»ΠΈ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π·Π° Π½Π°ΡΡΡΠΏΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°ΠΌΠΎ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΡ Service Discovery. ΠΠΈΠ΅ ΡΠ°ΠΌΠΈ Π·Π°Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠΎΠΆΠ΅ Π»ΠΈ ΡΠΎΠ²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Consul ΡΡΠ°ΡΡΠΈΡΠ° Π½Π° localhost ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ° Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΡΠ΅ Π² ΡΠΎΠ·ΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΏΡΠΎΠΊΡΠΈ. ΠΠΈΠ΅ ΡΠ°ΠΌΠΈ ΡΠΌΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ.
ΠΡΠΏΡΠΎΡ: ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π»ΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π²Π΅Π΄Π½Π°Π³Π°? ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π½Π° Π·Π΄ΡΠ°Π²Π΅ΡΠΎ. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π°ΠΊΠΎ ΡΡΡΠ²ΡΡΡΡ ΡΠ΅ ΡΡΠΈΠ²Π° ΡΠ΅ΡΡΠΎ.
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ ΡΡΠΌ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅.
ΠΡΠΏΡΠΎΡ: ΠΠ΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ ΡΠ΅Π³Π°ΡΠ½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΅ Π²Π°ΠΆΠ½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ°.
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ° Π°Π½Π°Π»ΠΈΠ·, Π΄Π°.
ΠΡΠΏΡΠΎΡ: ΠΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π»ΠΈ Π΅ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Service Discovery Π·Π° Consul docker?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ Π±ΠΈΡ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π» Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅. Π¦Π΅Π»ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π΅ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΏΠΎΠ½ΡΡΠΈΠ΅. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΉ Π΅ ΠΈΠ·ΠΌΠΈΠ½Π°Π» Π΄ΡΠ»ΡΠ³ ΠΏΡΡ ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½ Π΄ΠΎ 1-Π²Π° Π²Π΅ΡΡΠΈΡ. Π‘Π΅Π³Π° Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎ-ΠΏΡΠ»Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Kubernetes, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ°. ΠΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ»ΡΠ³Π°ΡΠ° Kubernetes Discovery Π΅ ΠΏΠΎ-Π½ΠΈΡΠΊΠ° ΠΎΡ Etcd. ΠΠΎ Π½Π΅ ΡΡΠΌ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ Π½Π΅Π³ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Ρ ΠΠΎΠ½ΡΡΠ». ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ Service Discovery, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Consul ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΡΠΏΡΠΎΡ: Π‘Ρ Π΅ΠΌΠ°ΡΠ° Ρ Π»ΠΈΠ΄Π΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Π·Π°Π±Π°Π²Ρ Π»ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ? Π ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ»ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ, Π°ΠΊΠΎ ΡΠΎΠ·ΠΈ Π»ΡΠΆΠ΅?
ΠΡΠ³ΠΎΠ²ΠΎΡ: Π’Π΅ ΡΠ° ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠ» ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠΊΠΎ Π²ΠΈ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅.
ΠΡΠΏΡΠΎΡ: Consul Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΏΡΠ»Π½ΠΎΠΏΡΠ°Π²Π΅Π½ ΡΡΡΠ²ΡΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΏΡΠ΅Π· Π½Π΅Π³ΠΎ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ΅ Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π΅Π½ ΡΡΡΠ²ΡΡ, Π° Π·Π°Π΅ΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·ΠΎΠ½Π°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π° ΡΡΡ service.consul. Π ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ³Π²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. ΠΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ ΡΠΊΡΠΈΡΠ° Π·Π°Π΄ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠ΅Π· DNS.
ΠΡΠΏΡΠΎΡ: Π’ΠΎΠ΅ΡΡ, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ Consul, Π·Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΠΏΡΡΠ²ΠΎ ΡΠ°Π·ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½Π°Π»ΠΈ?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ°. ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Π²ΡΡΡ Ρ DNS, ΡΠΎΠ³Π°Π²Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ Π±Π΅Π· Consul, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ DNS ΠΈΠΌΠ΅Π½Π°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠ·ΡΠ΅Π³Π»ΡΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° ΠΏΡΠΈ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ°, Π·Π°ΡΠΎΡΠΎ ΡΠΌΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π»ΠΈ Π²ΡΡΠ·ΠΊΠ°, Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΠΊΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ°, ΡΠΎΠ³Π°Π²Π° - Π΄Π°, Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠ΄Π΅ Π΅ Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° ΠΈ ΠΎΡΠΈΠ²Π°ΠΌΠ΅ ΠΏΡΠΈ Π½Π΅Ρ.
PS ΠΡΠ½ΠΎΡΠ½ΠΎ Π·Π΄ΡΠ°Π²Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. Consul, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Kubernetes, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π·Π΄ΡΠ°Π²ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°.
200 OK for healthy
503 Service Unavailable for unhealthy
ΠΠ·ΡΠΎΡΠ½ΠΈΡΠΈ:
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com