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

Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° 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'ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ Π½Π° 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 ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡΠ΅ Ρ ΡΠ΅Π·ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Ρ Π»Π΅ΠΊΠΎΡΠ°.
ΠΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ
ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π° ΠΏΠΎΠ΄Π° Π·Π° Π½Π°ΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ recommendation, ΠΊΠΎΠΉΡΠΎ Π²Π·Π΅Ρ ΠΌΠ΅ ΠΎΡ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ Istio. ΠΠ΄ΠΈΠ½ ΠΏΠΎΠ΄ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ v1, Π° Π΄ΡΡΠ³ΠΈΡΡ β ΠΊΠ°ΡΠΎ v2. ΠΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ:

(ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΠΈΡΠ»ΠΎΡΠΎ ΠΎΡΠ΄ΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΅ Π±ΡΠΎΡΡ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄.)
ΠΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ, Π½Π°Π»ΠΈ? ΠΠΎΠ±ΡΠ΅, Π½Π΅ΠΊΠ° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΡΡΠΏΠΈΠΌ Π²ΡΠΈΡΠΊΠΎ, Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ³Π°ΠΌΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄.
Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°
ΠΠΎ-Π΄ΠΎΠ»Ρ Π΅ 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, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρ. ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΡΠ»Π³Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π² Π³ΠΎΡΠ½ΠΈΡ Π΄Π΅ΡΠ΅Π½ ΡΠ³ΡΠ» Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°ΡΠ° β Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ Π΅ 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), Π·Π° Π΄Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°ΠΌΠ΅ Π±Π°Π²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΡΡΠ²ΠΈΡΠ°. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, ΠΈΠ½Π°ΡΠ΅ Π½Π΅ ΡΡΠ°Π²Π°.
Π ΡΠ°ΠΊΠ°, ΠΏΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΡΠΈΡΠ΅ΠΊΡΠ½Π΄Π΅Π½Π΅Π½ sleep Π² ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ²ΠΈΡΠ° recommendation v2, ΠΏΡΠ΅ΡΠ³Π»ΠΎΠ±ΠΈΡ ΠΌΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π· ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ redeploy Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π° ΡΠ΅Π³Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠΌΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Istio:

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

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