Π ΡΠ½ΠΎΠ²Π° Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅!.. Π ΠΏΡΠ΅Π΄Π΄Π²Π΅ΡΠΈΠΈ ΡΡΠ°ΡΡΠ° ΠΊΡΡΡΠ°
Service Mesh β ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (API). Service Mesh ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΡΡ, Π½Π°Π΄ΡΠΆΠ½ΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ΅ΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Service Mesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ, ΡΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (circuit breaker).
Service Mesh ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΏΡΠΎΠΊΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Sidecar. Sidecar ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΎΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΈΡΠ°ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
, Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Service Mesh ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Istio ΠΎΡ Google, IBM ΠΈ Lyft, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Service Mesh-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ. Π Kubernetes, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π² Google, ΡΠ΅ΠΉΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ Π΄Π»Ρ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Istio. ΠΠ΅Π½Π΄ΠΎΡΡ ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Istio. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ½ΠΈ ΡΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π½Π΅ΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ Istio β ΡΡΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Service Mesh. ΠΠ°ΡΡΠ΅ΡΠ½ sidecar proxy
ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ΄ΠΈΡΡ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ Buoyant, HashiCorp, Solo.io ΠΈ Π΄ΡΡΠ³ΠΈΠΌ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ: ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Netflix β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ², Π³Π΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Service Mesh ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ribbon, Hysterix, Eureka, Archaius, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΊΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΊΠ°ΠΊ Azure Service Fabric.
Service Mesh ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ:
- Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Kubernetes ΠΏΠ»ΠΎΡΠ½ΠΎ Π·Π°Π½ΡΠ» ΡΡΡ Π½ΠΈΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΡ Docker Swarm ΠΈ Mesosphere DC/OS ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Kubernetes.
- Π‘Π΅ΡΠ²ΠΈΡΡ ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ (ΠΏΠΎΠ΄Ρ Kubernetes). ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ½ΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π Kubernetes ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠΌ. ΠΠ»ΠΈΠ΅Π½ΡΡ ΡΠ΅Π΄ΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ, ΡΠ°ΡΠ΅ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ² (ΡΠ΅ΠΏΠ»ΠΈΠΊ).
- Sidecar Proxy. Sidecar Proxy ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠΌ. Π‘ΠΌΡΡΠ» Sidecar Proxy Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠΉ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΡΠ°ΡΠΈΠΊ. Sidecar Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Sidecar Proxy ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Service Mesh ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Sidecar Proxy Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΌ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°.
- ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΎΠ³Π΄Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π½ΡΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ, Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ (ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ) ΠΈΡΠΏΡΠ°Π²Π½ΡΠΉ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ DNS. Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ DNS-Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° 4 ΡΡΠΎΠ²Π½Π΅ (ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΌ). Service Mesh ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° 7 ΡΡΠΎΠ²Π½Π΅ (ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ), Π±ΠΎΠ³Π°ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ Π² Π²ΠΎΠΏΡΠΎΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ½Π΅-Π·Π΅Π»Π΅Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅.
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅. Service Mesh ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ, ΡΠ½ΠΈΠΌΠ°Ρ ΡΡΠΎ Π±ΡΠ΅ΠΌΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Service Mesh ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π° ΡΡΠ΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Π·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΡΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π΄ΠΎΡΠΎΠ³ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ mutual TLS (mTLS), Π³Π΄Π΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (PKI) Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΈ ΠΊΠ»ΡΡΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ Π² Sidecar Proxy.
- ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ. Service Mesh ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ½Π°ΡΡΠΆΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π½ΡΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Service Mesh ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ
ΡΠ°Π±Π»ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ Π½Π΅Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ Π² ΠΏΡΠ» Π·Π΄ΠΎΡΠΎΠ²ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π’Π° ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Service Mesh, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Data Plane. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Data Plane, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Control Plane. Control Plane ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈΠ»ΠΈ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ API, CLI ΠΈΠ»ΠΈ GUI Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Control Plane Π² Service Mesh ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Sidecar Proxy ΠΈ Data Plane.
Π§Π°ΡΡΠΎ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Service Mesh ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
Π·Π°Π΄Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΈΠΎΠ½Π΅ΡΠ°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Service Mesh Π²ΡΡΠ΄ Π»ΠΈ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ°Π½Π΅Ρ ΠΎΡΠ²Π΅ΡΠΎΠΌ Π½Π° Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ
Π΄ΠΎΡΡΠ°Π²ΠΊΠΎΠΉ. ΠΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ Π°ΡΡΠ΅Π½Π°Π»ΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
β ΠΌΠΎΠ»ΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π΄ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π·Π°Π΄Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠ°ΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½Ρ β Π·Π°Π±ΠΈΠ²Π°ΡΡ Π³Π²ΠΎΠ·Π΄ΠΈ.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Service Mesh, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ NGINX, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Kubernetes ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ Π±Π΅Π· Service Mesh. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Istio Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Service Mesh, Π½ΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠΎΠΌΠ½Ρ ΠΎΠ± ΡΡΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Service Mesh, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com