ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ ΠΠ΅ΠΉΠ·Π΅Π½Π±Π΅ΡΠ³Π° Π³Π»Π°ΡΠΈΡ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ. ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ, ΡΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ΡΡΡ β Π·Π½Π°ΡΠΈΡ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Red Hat OpenShift (ΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Kubernetes), ΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠΎΡΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΏΠΎΡΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΈ ΠΎΠ± ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ. Π‘ΡΠ°ΡΠΈΠΊΠ° ΠΠ΅ΠΉΠ·Π΅Π½Π±Π΅ΡΠ³Π° ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΠΎΠΏΡΠΎΠ²Π΅ΡΠ³Π°Π΅Ρ, Π½ΠΎ Π·Π°ΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Istio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ) ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ
ΠΠΎΠ΄ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ (Tracing) ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠ²ΡΡΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠΎ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π·Π΄Π΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π½Π΅ Π·Π°Π±ΠΎΡΡΡΡ ΠΎΠ± ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠΎΠΈΡΠΊΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π Istio ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ Jaeger, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ OpenTracing.
Π’ΡΠ°ΡΡΠ°ΠΌΠΈ (Traces, ΠΈ ΡΠ»ΠΎΠ²ΠΎ Β«ΡΡΠ°ΡΡΡΒ» Π·Π΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Β«ΡΠ»Π΅Π΄ΡΒ», ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±Π°Π»Π»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π΅) ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, Β«ΠΎΡ ΠΈ Π΄ΠΎΒ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΆΠΌΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΈ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ΄Π½Π° ΡΡΠ°ΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ (ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ) ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ΄Π° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Jaeger ΡΡΠ°ΡΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²ΡΠΎΠ΄Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅ΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π»ΠΎΠΆΠΈΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π·Π²Π΅Π½ΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π·Π²Π΅Π½ΡΠ΅Π² ΡΡΠ°ΡΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ spanβΠΎΠ².
Span β ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎ Π΅Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ span ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ Π·Π²Π΅Π½ΠΎ ΡΠ΅ΠΏΠΈ. Span ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ (ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ) ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ spanβΠΎΠ². ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, span ΡΠ°ΠΌΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ (root span) Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡ ΠΆΠ΅ ΠΎΠ±ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΈ ΡΡΠ°ΡΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ β ΡΡΠΎ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΌΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ β Π³Π»Π°Π·Π°ΠΌΠΈ, ΡΠ΅ΡΠ΅Π· UI ΠΈΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π»Π΅ΠΆΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π Istio ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Prometheus ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ UI. Prometheus ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ Alerts ΠΈ Alert Managers.
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π·Π°ΡΡΠ±ΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ spanβΠΎΠ². ΠΠΎΡΠΎΠΌ ΠΈΡ Π½Π°Π΄ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² Jaeger, ΡΡΠΎΠ±Ρ ΡΠΎΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ·Π΄Π°Π» Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΡΡΠΈ spanβΡ ΠΌΠ°ΡΠΊΠΈΡΡΡΡ ΠΈΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½Ρ ΠΌΠ΅ΡΠΊΠΈ Π΅Π΅ Π½Π°ΡΠ°Π»Π° ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° spanβΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ Jaeger Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° Java (ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Spring Boot), ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ B3 (Zipkin-style) ΠΊ Π²Π°ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Spring:
ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²:
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Java, ΡΠΎ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°ΡΡ, Π° ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Π² POM-ΡΠ°ΠΉΠ» Maven ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ°ΠΉΠ» POM.XML, ΡΡΠΎΠ±Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ Jaeger Tracer Resolver:
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ Π·Π°Π΄Π°ΡΡΡΡ Π² Dockerfile:
ΠΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ, ΠΈ Π½Π°ΡΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π½Π°ΡΠ½ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
Π‘ΠΌΠΎΡΡΠΈΠΌ Π² ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΡΠ°Ρ
Π ΡΠΎΡΡΠ°Π² Istio Π²Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Grafana. ΠΠΎΠ³Π΄Π° Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Red Hat OpenShift PaaS (Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Red Hat OpenShift ΠΈ Kubernetes ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½Π° minishift), ΡΡΠ° ΠΏΠ°Π½Π΅Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
open "$(minishift openshift service grafana -u)/d/1/istio-dashboard?refresh=5⩝Id=1"
ΠΠ°Π½Π΅Π»Ρ Grafana ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
ΠΠ΄Π΅ΡΡ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ customer Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ preference v1, Π° ΡΠΎΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ recommendation v1 ΠΈ v2. ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Grafana Π΅ΡΡΡ Π±Π»ΠΎΠΊ Dashboard Row Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² (Global Request Volume), Π΄ΠΎΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² (success rates), ΠΎΡΠΈΠ±ΠΊΠΈ 4xx. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΌ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Server Mesh Ρ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ Π±Π»ΠΎΠΊ Services Row Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ
ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΏΠ½Π΅ΠΌ ΠΏΠΎΠ³Π»ΡΠ±ΠΆΠ΅
ΠΡΠΈ Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Istio, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. Π JaegerβΠΎΠ²ΡΠΊΠΎΠΌ UI ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΎΠ½ΠΈ ΡΡ ΠΎΠ΄ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Red Hat OpenShift Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ minishift Π·Π°ΠΏΡΡΠΊ Jaeger UI Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
minishift openshift service jaeger-query --in-browser
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ Π½Π° ΡΡΠΎΠΌ ΡΠΊΡΠΈΠ½Π΅:
- ΠΠ½Π° ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 7 spanβΠΎΠ².
- ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 6.99 ms.
- ΠΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ recommendation, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅, ΡΡΠ°ΡΠΈΡΡΡ 0.69 ms.
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±ΡΡΡΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·-Π·Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅Π²Π°ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΡΡΠ°Π΄Π°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠΌ Π·Π°Π΄Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΄Π²Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° recommendation:v2 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ oc scale —replicas=2 deployment/recommendation-v2. ΠΠΎΡ ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π½Π°Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ podβΡ:
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Jaeger ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ span Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° recommendation, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ pod ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠΎΠ·Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ podβΠ°. Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ Π½Π° ΠΏΠΎΠ»Π΅ node_id:
ΠΡΠ΄Π° ΠΈ ΠΊΠ°ΠΊ Π²ΡΡ Ρ ΠΎΠ΄ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Prometheus ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΌ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° recommendation Π΄Π΅Π»ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ 2:1, ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ podβΠΎΠ². ΠΡΠΈΡΠ΅ΠΌ ΡΡΠΎΡ Π³ΡΠ°ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ podβΠΎΠ² Π²Π²Π΅ΡΡ -Π²Π½ΠΈΠ·, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ Canary Deployment (ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡ ΡΡ Π΅ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·).
ΠΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ, Π»ΠΈΡΡ ΡΠ»Π΅Π³ΠΊΠ° Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ ΠΊΠ»Π°Π΄Π΅Π·Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Jaeger, Grafana ΠΈ Prometheus. Π ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ ΡΡΠΎ ΠΈ Π±ΡΠ»Π° Π½Π°ΡΠ° ΡΠ΅Π»Ρ β Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ Π²Π°Ρ Π² Π½ΡΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΏΡΠΈΠΎΡΠΊΡΡΡΡ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ Istio.
Π ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, Π²ΡΠ΅ ΡΡΠΎ ΡΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π² Istio. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Java) ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Spring Boot) Π²ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΡΠ°ΠΌ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°, ΠΊΠΎΠ΄ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ»Π΅Π³ΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠ΅ΡΡΡΡ Π² Π²ΠΈΠ΄Ρ Nodejs ΠΈΠ»ΠΈ C#. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡΡ (ΡΠΈΡΠ°ΠΉ, Β«ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ°Β») ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π²Π°ΠΌ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄, Π΅ΡΡΡ Ρ Π²Π°Ρ Istio ΠΈΠ»ΠΈ Π½Π΅Ρ. Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ ΡΡΠΈΠ»ΠΈΡ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠΉ?
Π₯ΠΎΡΡ Π±Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ Β«Π³Π΄Π΅?Β» ΠΈ Β«ΠΊΠ°ΠΊ Π±ΡΡΡΡΠΎ?Β» ΡΠΎ 100% ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡΡ.
Π₯Π°ΠΎΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ Π² Istio: ΡΠ°ΠΊ ΠΈ Π±ΡΠ»ΠΎ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ
Π£ΠΌΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΌΠ°ΡΡ Π²Π΅ΡΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ Π»ΠΎΠΌΠ°Π»ΠΈΡΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΡΠ° β Π²Π΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ, Π½ΠΎ ΠΈ Π²Π°ΠΆΠ½Π°Ρ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ) β ΡΡΠΎ ΠΎΠ΄Π½ΠΎ, Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ β ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³Π°Ρ Π·Π°Π΄Π°ΡΠ° (ΡΠ°ΡΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΡΠ±ΠΎΠ΅Π², ΠΈ ΡΡΠΎ ΠΏΠ΅ΡΠ²Π΅ΠΉΡΠ΅Π΅ ΠΈΠ· Π²ΠΎΡΡΠΌΠΈ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ). ΠΠ΄Π½Π° ΠΈΠ· ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π²Π½ΠΎΡΠΈΡΡ ΠΈΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ fault injection. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ Π½Π΅ ΡΠ²ΠΎΠΉ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π° Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΡΠ±ΠΎΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΡΠΈΡΠΊΡΠ΅ΡΠ΅ ΡΠ³ΠΎΠ΄ΠΈΡΡ Π² ΡΠΌΠ΅ΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΡΠΈΡ fault injection ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡ Ρ Π³Π΅ΠΉΠ·Π΅Π½Π±Π°Π³Π°ΠΌΠΈ β ΡΠ±ΠΎΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΡΠ΅Π·Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Istio ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Π½Π° ΡΠ°Π·-Π΄Π²Π°.
ΠΠ°ΠΊ Π²ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° podβΠ° Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° recommendation, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²Π·ΡΠ»ΠΈ ΠΈΠ· ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ Istio. ΠΠ΄ΠΈΠ½ pod ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ v1, Π° Π΄ΡΡΠ³ΠΎΠΉ β ΠΊΠ°ΠΊ v2. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΠΊΠ° Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ:
(ΠΡΡΠ°ΡΠΈ, ΡΠΈΡΠ»ΠΎ ΡΠΏΡΠ°Π²Π° β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠ΅ΡΡΠΈΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ podβΠ°)
ΠΠΎ Π½Π°ΠΌ Π²Π΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ½ΡΠ΄Ρ Π½Π΅ ΡΡΠΎ, Π²Π΅ΡΠ½ΠΎ? Π§ΡΠΎ ΠΆ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡ, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
Π£ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ yaml-ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠ±ΠΎΠΉ (ΠΎΡΠΈΠ±ΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΠ° 503):
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΌΡ ΡΠ²Π½ΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ Π² ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° 503.
Π Π²ΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΡΠΈΠΊΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ curl ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΠΈ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ 503, ΠΏΡΠΈΡΠ΅ΠΌ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ pod β v1 ΠΈΠ»ΠΈ v2 β ΠΎΠ½ΠΈ ΡΡ ΠΎΠ΄ΡΡ:
ΠΠ»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ istioctl delete routerule recommendation-503 -n tutorial. ΠΠ΄Π΅ΡΡ Tutorial β ΡΡΠΎ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Red Hat OpenShift, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Ρ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Istio.
ΠΠ½ΠΎΡΠΈΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ 503 ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΊ ΡΠ±ΠΎΡΠΌ, Π½ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΏΠ΅ΡΠ°ΡΠ»ΠΈΡΡ Π²Π°Ρ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ° ΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΡΠ»ΡΡΠ°ΡΡΡΡ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ ΡΠ±ΠΎΠΈ. ΠΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ β ΡΡΠΎ ΡΠ΄, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΡΠ°Π΄Π°Π΅Ρ Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Istio ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, Π½ΠΈΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½ΡΡ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΡΠ΅ΡΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ (ΠΈΠ»ΠΈ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ) Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. Π₯ΠΎΡΠΎΡΠ°Ρ Π½ΠΎΠ²ΠΎΡΡΡ Π·Π΄Π΅ΡΡ Π² ΡΠΎΠΌ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎ, Π° Π½Π΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠΎΠΈΡΡΡΡ ΡΠΈΠΊΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅-ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅β¦
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅β¦ Π₯ΠΎΡΡ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ? Istio ΡΠ°ΠΊ ΠΏΡΠΎΡΡ, Π° ΡΡΠΎΡ yaml-ΡΠ°ΠΉΠ» ΡΠ°ΠΊ ΠΏΠΎΠ½ΡΡΠ΅Π½, ΡΡΠΎ Π²ΡΡ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅Π±Ρ, ΠΏΡΠΎΡΡΠΎ Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅:
Π ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡΠ»ΡΡΠ°Π΅Π² Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ 7-ΡΠ΅ΠΊΡΠ½Π΄Π½Π°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°. Π ΡΡΠΎ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ sleep, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Istio ΡΠ΅Π°Π»ΡΠ½ΠΎ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° 7 ΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Istio ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ Jaeger, ΡΡΠ° Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ»ΠΈΡΠ½Π° Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π² JaegerβΠΎΡΠΊΠΎΠΌ UI, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡΠΈΠ½Π΅ Π½ΠΈΠΆΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠ»Π³ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ β Π΅Π³ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 7.02 ΡΠ΅ΠΊΡΠ½Π΄Ρ:
ΠΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΠ΅ΡΠ΅Π²ΡΡ
Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ. Π ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ, ΡΠ±ΡΠ°Π² ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΡ ΡΠ±Π΅ΡΠ΅ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ. ΠΠΎΠ²ΡΠΎΡΠΈΠΌΡΡ, Π½ΠΎ ΠΌΡ ΠΎΠΏΡΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΡ ΡΡΠΎ, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠ΅ ΠΎΡΡΡΡΠΏΠ°ΡΡ ΠΈ Π½Π΅ ΡΠ΄Π°Π²Π°ΡΡΡΡ
ΠΡΡΠ³Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π΄Π»Ρ Ρ Π°ΠΎΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π° ΡΡΠ½ΠΊΡΠΈΡ Istio β ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·. Π‘ΠΌΡΡΠ» Π·Π΄Π΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠΏΡΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ 503 β ΠΈ ΡΠΎΠ³Π΄Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² N-Π½Π°Π΄ΡΠ°ΡΡΠΉ ΡΠ°Π· Π½Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π΅Ρ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π½Π°Π΄ΠΎΠ»Π³ΠΎ ΠΏΡΠΈΠ»Π΅Π³ ΠΏΠΎ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅. ΠΠ°, ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π½Π°Π΄ΠΎ Π±Ρ ΡΠ°ΡΠΊΠΎΠΏΠ°ΡΡ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎ ΡΡΠΎ ΠΏΠΎΡΠΎΠΌ, Π° ΠΏΠΎΠΊΠ° ΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠ°ΠΊ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ²ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠ΄Π°Π²Π°Π» ΠΎΡΠΈΠ±ΠΊΡ 503, Π° Istio ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ» ΠΏΠΎΠΏΡΡΠΊΠΈ Ρ Π½ΠΈΠΌ ΡΠ²ΡΠ·Π°ΡΡΡΡ. Π ΡΡΡ ΡΠ²Π½ΠΎ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± Π³Π΅Π½Π΅ΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ 503, Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΡΠ°ΠΌ ΠΊΠΎΠ΄β¦
Π‘ΡΠΎΠΏ, ΠΏΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅! ΠΡ ΠΆΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΈ.
ΠΠΎΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ recommendation-v2 Π±ΡΠ΄Π΅Ρ Π² ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ 503:
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ:
Π ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΠΌ Istio-ΡΡΠ½ΠΊΡΠΈΡ Retry:
ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ° Ρ Π΄Π²ΡΡ
ΡΠ΅ΠΊΡΠ½Π΄Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ (Π° Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΠΈ Π²ΠΎΠ²ΡΠ΅ ΡΠ±ΡΠ°ΡΡ Ρ ΡΠ°Π΄Π°ΡΠ°) ΠΎΡΠΈΠ±ΠΊΠΈ 503:
Π Π΅Π·ΡΠΌΠΈΡΡΠ΅ΠΌ: ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ°ΠΊ, ΡΡΠΎ Istio, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, Π³Π΅Π½Π΅ΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ 503 Π΄Π»Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π²ΠΎ-Π²ΡΠΎΡΡΡ
, ΡΠΎΡ ΠΆΠ΅ Istio Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡΡΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ 503. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Retry, ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΡΡΡΠΏΠ°ΡΡ ΠΈ Π½Π΅ ΡΠ΄Π°Π²Π°ΡΡΡΡ.
Π Π΄Π°, ΠΌΡ ΠΎΠΏΡΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎ, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΊΠΎΠ΄. ΠΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ, β ΡΡΠΎ Π΄Π²Π° ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio:
ΠΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ ΠΆΠ΄ΡΡ
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²Π΅ΡΠ½Π΅ΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°ΠΈΠ·Π½Π°Π½ΠΊΡ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΡΡΡΠΏΠ°ΡΡ ΠΈ Π½Π΅ ΡΠ΄Π°Π²Π°ΡΡΡΡ ΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π Π·Π°ΡΠ΅ΠΌ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅Ρ ΠΆΠ΄Π°ΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠΎΠ·ΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΡΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, Π° ΠΎΡΠΎΠΉΠ΄Π΅ΠΌ Π½Π° Π·Π°ΠΏΠ°ΡΠ½ΠΎΠΉ ΡΡΠ±Π΅ΠΆ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΉΡΠ° ΠΈ Π½Π΅ Π²ΡΠ½ΡΠΆΠ΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠΌΠΈΡΡΡΡ Π² Π½Π΅Π²Π΅Π΄Π΅Π½ΠΈΠΈ.
Π Istio ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ°ΠΉΠΌΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠ°ΠΉΠΌΠ°ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° 504 (Gateway Timeout) β ΠΎΠΏΡΡΡ ΠΆΠ΅ Π²ΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Istio. ΠΠΎ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ sleep (Π° Π·Π°ΡΠ΅ΠΌ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ rebuild ΠΈ redeploy), ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π£Π²Ρ, ΠΈΠ½Π°ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
ΠΡΠ°ΠΊ, ΠΌΡ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΡΠ΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Π½ΡΠΉ sleep Π² ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²ΠΈΡΠ° recommendation v2, ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π· ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ΅Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π° ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠΌΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio:
ΠΠ° ΡΠΊΡΠΈΠ½Π΅ Π²ΡΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΌΡ Π±ΡΠΎΡΠ°Π΅ΠΌ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ²ΡΠ·Π°ΡΡΡΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ recommendation, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅ΡΠ° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠΎ Π΅ΡΡΡ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° 504. ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ (ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΅Ρ
ΡΠ΅ΠΊΡΠ½Π΄Π½ΠΎΠ³ΠΎ sleepβΠ° Π² ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²ΠΈΡΠ° recommendation:v2), ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΠΎΡ ΡΡΠΎ:
ΠΠΏΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΡ, Π½ΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. Π Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±ΠΎΠ½ΡΡ Π·Π΄Π΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π» Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡ, ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Istio.
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΡ Π²ΠΌΠ΅ΡΡΠ΅
ΠΠ½Π΅ΡΡΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ
Π°ΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Istio β ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ. Π¨Π°Π±Π»ΠΎΠ½Ρ fallback, bulkhead ΠΈ circuit breaker, ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ±ΠΎΠ΅Π² ΠΈ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΈ ΡΠ°ΠΉΠΌΠ°ΡΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ
ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ. Π ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Kubernetes ΠΈ Red Hat OpenShift ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ Π±ΡΠ΄ΡΡΠ΅Π΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com