ΠΡΠ°Π·Π΄Π½ΠΈΠΊΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈΡΡ, ΠΈ ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Ρ Π½Π°ΡΠΈΠΌ Π²ΡΠΎΡΡΠΌ ΠΏΠΎΡΡΠΎΠΌ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ ΠΏΠΎ Istio Service Mesh.
Π‘Π΅Π³ΠΎΠ΄Π½ΡΡΠ½ΡΡ ΡΠ΅ΠΌΠ° β Circuit Breaker, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΒ», Π² ΠΏΡΠΎΡΡΠΎΡΠ΅ΡΠΈΠΈ β Β«Π°Π²ΡΠΎΠΌΠ°Ρ Π·Π°ΡΠΈΡΡΒ». Π’ΠΎΠ»ΡΠΊΠΎ Π² Istio ΡΡΠΎΡ Π°Π²ΡΠΎΠΌΠ°Ρ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ ΠΊΠΎΡΠΎΡΠ½ΡΠ²ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ΅ΠΏΡ, Π° Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ.
ΠΠ°ΠΊ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΈΠ΄Π΅Π°Π»Π΅
ΠΠΎΠ³Π΄Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ KubernetesβΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ OpenShift, ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ Π²Π²Π΅ΡΡ -Π²Π½ΠΈΠ· Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² podβΠ°Ρ , Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°, Π° Kubernetes Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π β Π² ΠΈΠ΄Π΅Π°Π»Π΅ β Π²ΡΠ΅ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡ ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΈ ΡΡΠ΅ΠΌΠ΅ΡΠ½ΡΠ΅. ΠΡΠ΅ΠΌΠ΅ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π΄Π΅ΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈ ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΡ, ΡΠ°ΡΡΠΎ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ. Π ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΌΠ΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π² podβΠ΅ β Π²Π΅ΡΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅, OpenShift ΠΈ Kubernetes Ρ ΡΡΠΈΠΌ Ρ ΠΎΡΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ, ΠΈ Π²ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ β Π½ΠΎ ΠΎΠΏΡΡΡ ΠΆΠ΅ Π² ΡΠ΅ΠΎΡΠΈΠΈ.
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠΎ Π±ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΏΡΠΈΡΠ΅Π» Π² Π½Π΅Π³ΠΎΠ΄Π½ΠΎΡΡΡ: Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ (ΠΎΡΠΈΠ±ΠΊΠ° 503), Π»ΠΈΠ±ΠΎ β ΡΡΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½Π΅Π΅ β ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ, Π½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΎΠ½ ΠΏΠΎΠ΄Π³Π»ΡΡΠΈΠ²Π°Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ, Π½ΠΎ ΠΈΠ· ΠΏΡΠ»Π° ΠΎΠ½ ΠΏΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ. Π§ΡΠΎ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°ΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅? ΠΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΡ? Π£Π±ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈΠ· ΡΡ Π΅ΠΌΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ? Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΒ» β ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π² ΡΠΈΡΡΠ°Ρ , ΠΈ ΠΊΡΠΎ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ? ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΏΡΠΎΡΡΠΎ Π΄Π°ΡΡ Π΅ΠΌΡ ΠΏΠ°ΡΠ·Ρ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅? ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·Π΄Π½Π΅Π΅?
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Pool Ejection Π² Istio
Π Π·Π΄Π΅ΡΡ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Istio ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠ°ΠΌΠΈ Π·Π°ΡΠΈΡΡ Circuit Breaker, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ±ΠΈΡΠ°ΡΡ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈΠ· ΠΏΡΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Pool Ejection.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ (outlier detection), Istio Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΡΠ΅Ρ ΠΊΡΠΈΠ²ΡΠ΅ podβΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ±ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠ΄Π°, ΠΈ ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΡ ΠΈΠ· ΠΏΡΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΎΠΊΠ½ΠΎ ΡΠ½Π°Β» (sleep window).
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Kubernetes Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ OpenShift, Π½Π°ΡΠ½Π΅ΠΌ ΡΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ° Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΠΎΡΠΎΠ²ΠΈΠΌΡΡ ΠΊ ΡΠ±ΠΎΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ Pool Ejection, Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ podβΠ°ΠΌΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ 50/50. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² v2 Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ Π΄Π²ΡΡ , Π²ΠΎΡ ΡΠ°ΠΊ:
oc scale deployment recommendation-v2 --replicas=2 -n tutorial
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Π΄Π°Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΠΈΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ podβΠ°ΠΌΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ 50/50.
Π Π²ΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°:
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠ°ΡΡΡΡ, ΡΡΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠΊΡΠΈΠ½Π΅ Π½Π΅ 50/50, Π° 14:9, Π½ΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΡΠΏΡΠ°Π²ΠΈΡΡΡ.
Π£ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠ±ΠΎΠΉ
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΠΈΠ· ΡΡΡΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² v2, ΡΡΠΎΠ±Ρ Ρ Π½Π°Ρ Π±ΡΠ» ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΡΠ°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ v1, ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΡΠ°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ v2 ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ v2:
Π§ΠΈΠ½ΠΈΠΌ ΡΠ±ΠΎΠΉ
ΠΡΠ°ΠΊ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΈ Π½Π°ΡΡΠ°Π»Π° ΠΏΠΎΡΠ° Pool Ejection. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΠΌΡ ΠΈΡΠΊΠ»ΡΡΠΈΠΌ ΡΡΠΎΡ ΡΠ±ΠΎΠΉΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ· Π»ΡΠ±ΡΡ ΡΡ Π΅ΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° 15 ΡΠ΅ΠΊΡΠ½Π΄ Π² ΡΠ°ΡΡΠ΅ΡΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΠ°ΠΌ Π²Π΅ΡΠ½Π΅ΡΡΡ Π² ΠΈΡΠΏΡΠ°Π²Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡΡ, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ). ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ v2 Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅Π³ΠΎ ΡΠ±ΡΠ°Π»ΠΈ ΠΈΠ· ΠΏΡΠ»Π°. ΠΠΎ ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ 15 ΡΠ΅ΠΊΡΠ½Π΄ ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΠ½Π΅ΡΡΡ Π² ΠΏΡΠ». Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Pool Ejection.
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΡΡΡΠΎΠΈΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
Pool Ejection Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Istio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ, Π° ΡΠΎ ΠΈ Π²ΠΎΠ²ΡΠ΅ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΈ ΠΈ ΡΠ±ΠΎΠΈ.
β
Π£ NASA Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π³ΡΠΎΠΌΠΊΠΈΠΉ Π΄Π΅Π²ΠΈΠ· β Failure Is Not an Option, Π°Π²ΡΠΎΡΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΠΎΠ»Π΅ΡΠΎΠ²
Istio, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π»ΠΈ Π²ΡΡΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π²ΡΡΡ ΡΠ΅Π±Ρ Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ. Π ΠΊΠ°ΠΊ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°Ρ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΡΠ΅ΠΏΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Circuit Breaker Π² Istio ΡΠ°Π·ΠΌΡΠΊΠ°Π΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΡΡΠΎ-ΡΠΎ Π½Π΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠΏΠ°Π» ΠΈΠ»ΠΈ Π½Π°ΡΠ°Π» ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ.
ΠΡΠΈΡΠ΅ΠΌ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΡΠΌΠΎΠ·Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ°ΡΠΊΠ°Π΄ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π² ΠΎΠ±ΡΠ°ΡΠ°ΡΡΠΈΡ ΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΡΠ½ΠΈΠΆΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΈ ΡΠ°ΠΊ ΡΠΆΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ³ΡΠ±Π»ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ.
Circuit Breaker Π² ΡΠ΅ΠΎΡΠΈΠΈ
Circuit Breaker β ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊ ΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠΎΠ³Π΄Π° ΡΡΠ° ΡΠΎΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ»ΠΈ β Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π°Π΄Π°Π½Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ β Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ, ΠΏΡΠΎΠΊΡΠΈ ΡΠ°Π·ΡΡΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ. Π’ΡΠ°ΡΠΈΠΊ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·-Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. Π‘Π²ΡΠ·Ρ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΠΎΠΌΠΊΠ½ΡΡΠΎΠΉ (open) Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΡΠ½Π°, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π΄Π²Π΅ ΠΌΠΈΠ½ΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π·ΠΎΠΌΠΊΠ½ΡΡΠΎΠΉ (half-open). ΠΠΎΠΏΡΡΠΊΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ²ΡΠ·ΠΈ. ΠΡΠ»ΠΈ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Π²ΡΠ΅ ΠΠ, ΡΠ²ΡΠ·Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΎΠΏΡΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°ΠΌΠΊΠ½ΡΡΠΎΠΉ (closed). ΠΡΠ»ΠΈ ΠΆΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠΎ, ΡΠ²ΡΠ·Ρ ΡΠ°Π·ΠΌΡΠΊΠ°Π΅ΡΡΡ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ½Π°. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠΌΠ΅Π½Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Circuit Breaker:
ΠΠ΄Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Circuit Breaker, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΆΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ bulkhead pattern, Π½ΠΎ ΠΎΠ½ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
Circuit Breaker Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ Π½Π° OpenShift Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ. ΠΠ΅ΡΡΠΈΡ 1 Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π° Π²ΠΎΡ Π² v2 ΠΌΡ Π²ΡΡΡΠΎΠΈΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠΎΠ·Π° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ
siege -r 2 -c 20 -v customer-tutorial.$(minishift ip).nip.io
ΠΡΠ΅ Π²ΡΠΎΠ΄Π΅ Π±Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ? ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Ρ Π½Π°Ρ 100 % Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ, Π½ΠΎ ΠΏΡΠΈΡΠΌΠΎΡΡΠΈΡΠ΅ΡΡ β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π»ΡΡ
12 ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠΎ ΡΠ²Π½ΠΎ ΡΠ·ΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠ°ΡΡΠΈΠ²Π°ΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Istio ΠΈΡΠΊΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Circuit Breaker:
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ httpMaxRequestsPerConnection ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ²ΡΠ·Ρ Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π·ΠΌΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ β Π²ΡΠΎΡΠΎΠ΅ β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠ΅ΠΌΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΡΠΎΡΠΌΠΎΠ·ΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΈ ΡΠΎΠ³Π΄Π° Istio Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ 503, Π° Π²ΠΎΡ ΡΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ siege:
ΠΠ, Ρ Π½Π°Ρ Π΅ΡΡΡ Circuit Breaker, ΡΡΠΎ Π΄Π°Π»ΡΡΠ΅?
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Circuit Breaker ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Pool Ejection, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΠΏΡΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΎΡΠΌΠΎΠ·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡ Π² Π½ΠΎΡΠΌΡ, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡΡ β Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΡΡΠΎ Π΄Π²Π΅ ΠΌΠΈΠ½ΡΡΡ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ sleepWindow).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ 503 Π²ΡΠ΅ Π΅ΡΠ΅ Π·Π°Π΄Π°Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Circuit Breaker, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅: ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Ρ ΠΈΠ»ΠΈ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² Istio, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π½ΠΎΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com