ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΡΡΠ° Π½Π° Π₯Π°ΠΉΠ·Π΅Π½Π±Π΅ΡΠ³ Π³Π»Π°ΡΠΈ, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ. ΠΠΊΠΎ ΠΎΠ±Π΅ΠΊΡΡΡ Π΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠΉ Π½ΡΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π°ΠΊΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ - Π·Π½Π°ΡΠΈ Π½ΡΠΌΠ° ΡΠΊΠΎΡΠΎΡΡ.

Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Red Hat OpenShift (ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΠΎΡ Kubernetes), Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ ΡΠΎΡΡΡΠ΅Ρ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΠ²ΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΡΠΈ. Π‘ΡΠ°ΡΠΈΡΡ Π₯Π°ΠΉΠ·Π΅Π½Π±Π΅ΡΠ³ ΡΠΎΠ²Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ ΠΎΠΏΡΠΎΠ²Π΅ΡΠ³Π°Π²Π°, Π½ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Istio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»Π΅ΡΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ (ΡΡΠ΅ΠΉΡΠΈΠ½Π³) ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π° Π΄Π° Π³ΠΈ Π΄ΡΡΠΆΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ».
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠΌΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°
ΠΠΎΠ΄ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ (Tracing) ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ Π»ΠΎΠ³Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ²ΡΡΠΈ Π΄ΠΎΡΡΠ° ΠΎΠ±ΡΠΎ, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π΅Π΄Π½ΠΎ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠΊ Π΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΡΠ΅ΠΉΡΠ° Π² ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ. Π ΡΡΠ»Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΡΡΡΠ΅Π½Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π½ΠΎΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠΌ. Π Istio ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Jaeger, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ OpenTracing.
Π’ΡΠ΅ΠΉΡΠΎΠ²Π΅ (Traces, ΠΈ Π΄ΡΠΌΠ°ΡΠ° βΡΡΠ΅ΠΉΡΠΎΠ²Π΅β ΡΡΠΊ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° βΡΠ»Π΅Π΄ΠΈβ, ΠΊΠ°ΠΊΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π±Π°Π»ΠΈΡΡΠΈΡΠ½Π°ΡΠ° Π΅ΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π°) ΡΠ΅ Π½Π°ΡΠΈΡΠ°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΠΏΠΈΡΠ²Π°Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΠ΅ ΠΊΠ°Π·Π²Π°, βΠΎΡ Π½Π°ΡΠ°Π»ΠΎ Π΄ΠΎ ΠΊΡΠ°ΠΉβ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½Π°ΡΠΈΡΠ½Π΅ Π±ΡΡΠΎΠ½Π° Π½Π° ΡΠ΅Π± ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΡΠΎΠ²Π°. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π΅Π΄ΠΈΠ½ ΡΡΠ΅ΠΉΡ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΠΏΠΈΡΠ²Π° (ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°) ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π½Π°ΠΏΡΠ΅Π΄ ΠΈ Π½Π°Π·Π°Π΄. Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Jaeger ΡΡΠ΅ΠΉΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π»Π°Π³Π°Ρ Π½Π° ΡΡΡΡΠ°Π²Π½ΠΈ ΡΠ°ΡΡΠΈ ΠΏΠΎ ΠΎΡΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ Π²Π΅ΡΠΈΠ³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π»ΠΎΠΆΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π·Π²Π΅Π½Π°. Π‘Π°ΠΌΠΎ ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π·Π²Π΅Π½Π°, ΡΡΠ΅ΠΉΡΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Ρ.Π½Π°Ρ. span.
Span β ΡΠΎΠ²Π° Π΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΡ ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ° Π΄ΠΎ Π½Π΅ΠΉΠ½ΠΎΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅. ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ span ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π·Π²Π΅Π½ΠΎ Π½Π° Π²Π΅ΡΠΈΠ³Π°ΡΠ°. Span ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° (ΠΈΠ»ΠΈ Π΄Π° Π½ΡΠΌΠ°) Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΡΠ΅ΡΠ½ΠΈ span. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π°, span Π½Π° Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ (root span) ΡΠ΅ ΠΈΠΌΠ° ΡΡΡΠ°ΡΠ° ΠΎΠ±ΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΊΠ°ΠΊΠ²Π°ΡΠΎ ΠΈΠΌΠ° ΡΡΠ΅ΠΉΡΠ°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ β Π²ΡΡΡΠ½ΠΎΡΡ, ΡΠΎΠ²Π° Π΅ ΡΠ°ΠΌΠΎΡΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° β ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠ°ΡΠΈΡΠΎΠ²ΡΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. Π Istio ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Prometheus ΠΈ ΠΈΠΌΠ° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Prometheus ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Alerts ΠΈ Alert Managers.
ΠΡΡΠ°Π²ΡΠΌΠ΅ Π±Π΅Π»Π΅Π·ΠΈ
ΠΠ° Π΄Π° ΡΡΠ°Π½Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°ΡΠ°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ span-ΠΎΠ²Π΅. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½ΠΈ Π² Jaeger, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΡΠΎΠΉ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°ΡΠ°. Π‘ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΠ΅Π·ΠΈ span-ΠΎΠ²Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡΠ΅ ΠΌΠ°ΡΠΊΠΈ Π½Π° Π½Π΅ΠΉΠ½ΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΠΈ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅. ΠΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° span-ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ Π½Π° HTTP-Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° Jaeger, ΠΎΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π·Π° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ ΠΌΠ°Π»ΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°. ΠΠΎ-Π΄ΠΎΠ»Ρ Π΅ Π΄Π°Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄ Π½Π° Java (ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΉΠΌΡΡΡΠΊΠ° Spring Boot), ΠΊΠΎΠΉΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ B3 (ΠΏΠΎ Zipkin ΡΡΠΈΠ») ΠΊΡΠΌ Π²Π°ΡΠ΅ΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΊΠ»Π°Ρ Π½Π° 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 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΠΈ Π΄Π°Π»Π΅Ρ ΡΠ΅ ΡΡΠΈΠ³Π°Ρ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈ Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ Π΄Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π°ΡΠΈΡΠΊΠ°ΡΠΈ ΡΠΎΡΠΊΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 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, ΡΠΎΠ²Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½ΠΎ Π² UI Π½Π° Jaeger, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡΠΈΠΉΠ½ΡΠΎΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ. ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΡΠ»Π³Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π² Π³ΠΎΡΠ½ΠΈΡ Π΄Π΅ΡΠ΅Π½ ΡΠ³ΡΠ» Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°ΡΠ° β Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ Π΅ 7.02 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ:

Π’ΠΎΠ·ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ. Π Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ Π°ΠΊΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΠΌ ΡΠΎΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΠΌ ΠΈΠ·ΠΊΡΡΡΠ²Π΅Π½ΠΎΡΠΎ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΠ²ΡΠ°ΡΡΠΌΠ΅, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°, Π±Π΅Π· Π΄Π° Π΄ΠΎΠΊΠΎΡΠ²Π°ΠΌΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄.
ΠΠ΅ ΠΎΡΡΡΡΠΏΠ²Π°ΠΉΡΠ΅ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΉΡΠ΅
ΠΡΡΠ³Π° ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π½Π° Istio Π·Π° Ρ Π°ΠΎΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠ½Π³ Π΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΡ ΡΠ»ΡΠΆΠ±Π°ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π±ΡΠΎΠΉ ΠΏΡΡΠΈ. ΠΠ΄Π΅ΡΡΠ° Π΅ Π΄Π° Π½Π΅ ΡΠΏΠΈΡΠ°ΡΠ΅ ΠΎΠΏΠΈΡΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΡΠ²Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π°Π²ΡΡΡΠ²Π° Ρ Π³ΡΠ΅ΡΠΊΠ° 503 β ΠΈ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ, ΠΏΡΠΈ N-ΠΈΡ ΠΎΠΏΠΈΡ ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΡΡΠΌΠ΅Ρ. ΠΠΎΠΆΠ΅ Π±ΠΈ, ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΏΡΠΎΡΡΠΎ Π΅ ΠΈΠΌΠ°Π»Π° Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΡΠΈΠ²ΠΊΠ° ΠΏΠΎ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° ΠΏΡΠΈΡΠΈΠ½Π°. ΠΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·ΠΊΡΠΈΠ΅ΠΌ ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ°. ΠΠΎ ΡΠΎΠ²Π° Π΅ Π·Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, Π° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ΠΊΠ° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
Π ΡΠ°ΠΊΠ°, ΠΈΡΠΊΠ°ΠΌΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π²ΡΡΡΠ° Π³ΡΠ΅ΡΠΊΠ° 503, Π° Istio ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π½ΠΈ ΡΡΡΠ±Π²Π° Π½Π°ΡΠΈΠ½ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ° 503, Π±Π΅Π· Π΄Π° ΠΏΠΈΠΏΠ°ΠΌΠ΅ ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠ΄β¦
Π‘ΡΠΎΠΏ, ΠΈΠ·ΡΠ°ΠΊΠ°ΠΉΡΠ΅! ΠΠΈΠ΅ ΡΠΎΠΊΡ-ΡΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅.
Π’ΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠ»ΡΠΆΠ±Π°ΡΠ° recommendation-v2 Π΄Π° Π²ΡΡΡΠ° Π³ΡΠ΅ΡΠΊΠ° 503 Π² ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΡΠ»ΡΡΠ°ΠΈ:

ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π΅, ΡΠ΅ ΡΠ°ΡΡ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ Π½Π΅ΡΡΠΏΠ΅Ρ
:

Π‘Π΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ Π½Π° Istio:

Π’ΠΎΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ°Π²ΠΈ ΡΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠ° Ρ Π΄Π²ΡΡΠ΅ΠΊΡΠ½Π΄Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ (Π° Π² ΠΈΠ΄Π΅Π°Π»Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅) Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ 503:

Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: Π½Π°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ ΡΠ°ΠΊΠ°, ΡΠ΅ Istio, ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, Π³Π΅Π½Π΅ΡΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠ° 503 Π·Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅. Π ΠΎΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΡΡΡΠΈΡΡ Istio ΠΏΡΠ°Π²ΠΈ ΡΡΠΈ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ Ρ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΏΡΠΈ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ° 503. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ. Π’Π°ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡ
ΠΌΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΠ΅ΡΠΎ ΡΠΈ Π΄Π° Π½Π΅ ΠΎΡΡΡΡΠΏΠ²Π°ΠΌΠ΅ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅.
Π Π΄Π°, ΠΎΡΠ½ΠΎΠ²ΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅, Π½Π°ΠΏΡΠ»Π½ΠΎ Π±Π΅Π· Π΄Π° ΠΏΠΈΠΏΠ°ΠΌΠ΅ ΠΊΠΎΠ΄Π°. ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π±ΡΡ Π° Π΄Π²Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π½Π° Istio:

ΠΠ°ΠΊ Π΄Π° Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π΅ΠΌ Π΄ΡΡΠΈ Π½Π΅ ΡΠ°ΠΊΠ°Ρ
Π ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ΠΌ ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° Π½Π°ΠΎΠΏΠ°ΠΊΠΈ ΠΈ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π±ΠΈΠ²Π° Π΄Π° ΡΠ΅ ΠΎΡΡΡΡΠΏΠ²Π° ΠΈ ΠΎΡΠΊΠ°Π·Π²Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄. Π ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΏΡΠ΅ΠΌ ΠΎΠΏΠΈΡΠΈΡΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, Π·Π° Π΄Π° Π½Π΅ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ Π΄Π° ΡΠ°ΠΊΠ°Ρ Π·Π° Π½ΡΠΊΠ°ΠΊΠ²Π° Π·Π°Π±Π°Π²Π΅Π½Π° ΡΡΠ»ΡΠ³Π°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, Π½ΡΠΌΠ° Π΄Π° Π·Π°ΡΠΈΡΠ°Π²Π°ΠΌΠ΅ Π·Π°Π³ΡΠ±Π΅Π½Π°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ, Π° ΡΠ΅ ΡΠ΅ ΠΎΡΡΠ΅Π³Π»ΠΈΠΌ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½Π° Π»ΠΈΠ½ΠΈΡ, Π·Π° Π΄Π° Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈ Π΄Π° Π½Π΅ Π³ΠΎ ΠΎΡΡΠ°Π²ΠΈΠΌ Π² Π½Π΅Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π Istio ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΡΠ°ΠΉΠΌΠ°ΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°. ΠΠΊΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΏΡΠ΅Π²ΠΈΡΠΈ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠΌΠ°ΡΡ, ΡΠ΅ Π²ΡΡΡΠ° Π³ΡΠ΅ΡΠΊΠ° 504 (Gateway Timeout) β Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Istio. ΠΠΎ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° sleep (ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ rebuild ΠΈ redeploy), Π·Π° Π΄Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°ΠΌΠ΅ Π±Π°Π²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. Π£Π²ΠΈ, Π±Π΅Π· ΡΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ.
Π ΡΠ°ΠΊΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΡΡΠΈΡΠ΅ΠΊΡΠ½Π΄Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π² ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° recommendation v2, ΠΏΡΠ΅ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡ ΠΌΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π· ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π° ΡΠ΅Π³Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠΌΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π² Istio:

ΠΠ° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ ΡΠΏΠΈΡΠ°ΠΌΠ΅ ΠΎΠΏΠΈΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΠΌ Ρ ΡΡΠ»ΡΠ³Π°ΡΠ° recommendation, Π°ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠΎΠ΅ΡΡ ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° 504. Π‘Π»Π΅Π΄ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ (ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠΈΡΠ΅ΠΊΡΠ½Π΄Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π² ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° recommendation:v2), ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:

ΠΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ²ΡΠ°ΡΡΠΌΠ΅, Π½ΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅, Π±Π΅Π· Π΄Π° ΠΏΠΈΠΏΠ°ΠΌΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄. Π Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ ΡΡΠΊ Π΅, ΡΠ΅ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠ° ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΡΠ΅Π·ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Istio.
Π ΡΠ΅Π³Π° Π²ΡΠΈΡΠΊΠΎ Π·Π°Π΅Π΄Π½ΠΎ
ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΎ Ρ
Π°ΠΎΡ ΡΡΠ΅Π· Istio Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ. Π¨Π°Π±Π»ΠΎΠ½ΠΈΡΠ΅ fallback, bulkhead ΠΈ circuit breaker, ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΡΡΡΠ²Π΅Π½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΠΉΠΌΠ°ΡΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ Kubernetes ΠΈ Red Hat OpenShift ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ΡΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
