ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: Π°Π²ΡΠΎΡ ΡΡΠΎ ΡΡΠ°ΡΡΠΈ (Luc Perkins) β developer advocate Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ CNCF, ΡΠ²Π»ΡΡΡΠ΅ΠΉΡΡ Π΄ΠΎΠΌΠΎΠΌ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
Open Source-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΊ Linkerd, SMI (Service Mesh Interface) ΠΈ Kuma (ΠΊΡΡΠ°ΡΠΈ, Π²Ρ ΡΠΎΠΆΠ΅ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΠΈΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅Ρ Istio?..). Π ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΡΡΠ°ΡΡΡ ΠΏΡΠΈΠ½Π΅ΡΡΠΈ Π² DevOps-ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π»ΡΡΡΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΄Π½ΡΠΉ Ρ
Π°ΠΉΠΏ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«service meshΒ», ΠΎΠ½ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ 16 Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ
* ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ (Β«ΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ°Β») Π΄Π»Ρ Π²ΡΡ Π΅ΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° service mesh.
ΠΠΎ ΡΠΏΠ΅ΡΠ²Π° Ρ ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ:
- Π― Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΈΡ
Π²Π½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π·Π°ΡΠ΅ΡΠ½Π½ΡΡ
ΡΠ°Π΄ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΊΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ service mesh ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Twitter Π² 2015 Π³ΠΎΠ΄Ρ (ΡΠΎΠ³Π΄Π° ΠΎΠ½Π° Π΅ΡΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°Π·ΡΠ²Π°Π»Π°ΡΡ Β«ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΎΠΉΒ») ΠΈ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π» Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΠΉΡΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ
Linkerd , ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π½Π°ΡΠΈΡ. - ΠΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ β ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ ΠΈ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΉ. ΠΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΌΠ½Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΠΎΡΡΠ° Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ.
- Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ service mesh ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ Β«service mesh ΠΌΠΎΠΆΠ΅Ρβ¦Β» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ Β«ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π²ΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ service mesh ΠΌΠΎΠ³ΡΡβ¦Β».
- ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ:
- ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²;
- ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅;
- Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ;
- Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ;
- circuit breaking;
- Π°Π²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
- ΠΊΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ;
- ΡΠΈΠ½Π΅-Π·Π΅Π»Π΅Π½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ;
- ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π΄ΠΎΡΠΎΠ²ΡΡ;
- load shedding;
- Π·Π΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ°;
- ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ;
- ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΡ;
- ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ;
- Π°ΡΠ΄ΠΈΡ;
- Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
1. ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
TL;DR: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π² ΡΠ΅ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ ΠΈΠΌΠ΅Π½.
Π‘Π΅ΡΠ²ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Β«Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΒ» Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΡ
ΠΈΠΌΠ΅Π½ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, service.api.production
, pets/staging
ΠΈΠ»ΠΈ cassandra
. ΠΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ»Π°ΡΡΠΈΡΠ½ΠΎΡΡΡΡ, ΠΈ Π·Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ
Π°ΡΠ΄ΠΊΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ°.
ΠΠ»ΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π΄ΡΡΠ³ΠΎΠΉ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ»Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΡΡΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ, Π½Π΅ ΠΎΠΏΠ°ΡΠ°ΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅ Ρ Π΅Π³ΠΎ Π½Π΅ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, service mesh Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ Π²ΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Ρ ΠΎΡΡΠΎΠ² Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
ΠΠ°ΠΆΠ΄Π°Ρ service mesh ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΌΡΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π²ΡΠΎΠ΄Π΅ DNS Kubernetes. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π² Twitter Π΄Π»Ρ ΡΡΠΈΡ
ΡΠ΅Π»Π΅ΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½
2. Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅
TL;DR: ΠΠ·Π±Π°Π²ΡΡΠ΅ΡΡ ΠΎΡ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΡΠΊΠ°ΠΉ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΌ.
ΠΡΠΈΡΡΠ½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π²Π°ΡΡ, ΡΡΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ½ΠΈΠΊΠ½ΡΡΡ Π² Π²Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡ. Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΡΠΊΡΠ°Π½Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΡΠΈΠΌ. ΠΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Ρ
Π°ΠΊΠ΅Ρ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΎΠ½ΠΈΠΊΠ½Π΅Ρ Π²Π½ΡΡΡΡ? ΠΠ½ ΡΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Ρ Π²Π½ΡΡΡΠΈΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ Π²ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ? ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡ Ρ Π½ΡΠ»Π΅Π²ΡΠΌ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΠΌ (zero-trust), Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π΅ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΡΠ΅ΡΠΎΠΊ Π΄ΠΎΠ±ΠΈΠ²Π°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄Π»Ρ mTLS service mesh Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ TLS, Π½ΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΡ
ΠΏΠΎ Ρ
ΠΎΡΡΠ°ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°, Π΅ΡΠ΅ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠΈΡ
ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡ mTLS Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΡΠΎΠ΄Π΅
3. ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ
TL;DR: Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅, ΠΊΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ°, ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠΉΡΠ΅, ΡΡΠΎ ΠΈΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π΅Π»Π°ΡΡ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°.
Π‘Π΅ΡΠ²ΠΈΡΡ ΡΠ°ΡΡΠΎ Ρ ΠΎΡΡΡ Π·Π½Π°ΡΡ, ΠΊΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ (Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ), ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ΡΠ°ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ±ΡΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π΅Π»Π°ΡΡ (Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π° ΠΌΠ΅ΡΡΠΎΠΈΠΌΠ΅Π½ΠΈΠ΅ΠΌ Β«ΠΊΡΠΎΒ» ΠΌΠΎΠ³ΡΡ ΡΠΊΡΡΠ²Π°ΡΡΡΡ:
- ΠΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ peer’Π°Β». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ²ΠΈΡ
web
Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡdb
. Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ mTLS: ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. - ΠΠ΅ΠΊΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ-Π»ΡΠ΄ΠΈ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Π·Π°ΠΏΡΠΎΡΠ°Β». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
haxor69
Ρ ΠΎΡΠ΅Ρ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π½ΠΎΠ²ΡΡ Π»Π°ΠΌΠΏΡ. Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,JSON Web Tokens .ΠΠ½ΠΎΠ³ΠΈΠΌ ΠΈΠ· Π½Π°Ρ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΡ ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΡΠΎΡ, ΠΌΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ
users
, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠΎΠ»Ρ, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠΎΠ»Π±Π΅Ρpermissions
ΠΈ Ρ.Π΄. Π ΡΠ»ΡΡΠ°Π΅ service mesh ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ, ΠΎΡ ΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ΅Π» Π·Π°ΠΏΡΠΎΡ, Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ±ΡΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ service mesh’ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ (ΠΎ ΡΠΎΠΌ, ΠΊΡΠΎ ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ) Π² Π²ΠΈΠ΄Π΅ YAML-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅
4. ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ
TL;DR: Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠΉΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΏΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ.
Β«Π‘Π΅ΡΠ²ΠΈΡΒ» Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ΅ΡΠ²ΠΈΡ cache
ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 5 ΠΊΠΎΠΏΠΈΠΉ, Π° Π·Π°Π²ΡΡΠ° ΠΈΡ
ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠΈ Π΄ΠΎ 11. ΠΠ°ΠΏΡΠΎΡΡ, Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ΡΡ Π² cache
, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΠΏΠ°ΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΊΡΡΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ (Round-robin), Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ
β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ
(weighted) Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ), ΠΊΠΎΠ»ΡΡΠ΅Π²ΠΎΠ΅ (ring) Ρ
Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ
Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ upstream-Ρ
ΠΎΡΡΠΎΠ²) ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ²).
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ HTTP ΠΈ Π·Π°ΡΠΈΡΠ° ΠΎΡ DDoS, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ Π΄Π»Ρ ΡΡΠ°ΡΠΈΠΊΠ° ΡΠΈΠΏΠ° east-west (Ρ.Π΅. Π΄Π»Ρ ΡΡΠ°ΡΠΈΠΊΠ°, ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠ° β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².)(ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ service mesh). ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ service mesh Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈΠ· ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΡΡΡΠ°Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΠ΅ΠΊΠ΅.
5. Π Π°Π·ΡΡΠ² ΡΠ΅ΠΏΠΈ (circuit breaking)
TL;DR: ΠΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΡΡΠ°ΡΠΈΠΊ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠΉΡΠ΅ ΡΡΠ΅ΡΠ± ΠΏΡΠΈ Π½Π°ΠΈΡ ΡΠ΄ΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ .
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ, service mesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (ΠΎ Π΄ΡΡΠ³ΠΈΡ
Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
). Circuit breaking β ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΎΡ ΡΡΠ°ΡΠΈΠΊΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° β Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π·Π°ΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°Π½. ΠΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ (
Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΠΎ Π·Π° ΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Β«ΠΊΠΎΠ³Π΄Π°Β» ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π»ΡΠ±ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²: ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π° Π½Π΅ΠΊΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, pending-Π·Π°ΠΏΡΠΎΡΡ, Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΈ Ρ.Π΄.
ΠΡ Π²ΡΡΠ΄ Π»ΠΈ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ circuit breaking’ΠΎΠΌ, Π½ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π²Π°ΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΉ ΠΏΠ»Π°Π½ Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ.
6. ΠΠ²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
TL;DR: Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΠΉΡΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
Service mesh’ΠΈ β ΡΡΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ service mesh’ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ: ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ»Π°Π±ΠΎ (Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° Π½ΠΈΡ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΡΡΡΡ Π²ΠΏΡΡΡΡΡ) ΠΈ Ρ.Π΄.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Kubernetes ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ pod’Π°ΠΌΠΈ CPU ΠΈ ΠΏΠ°ΠΌΡΡΠΈ (ΡΠΌ. Π½Π°Ρ Π΄ΠΎΠΊΠ»Π°Π΄ Β«auth
, Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΡΡΡΒ».
7. ΠΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
TL;DR: ΠΡΠΏΡΡΡΠ²Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π½Π΅ΠΊΠΈΠΉ SaaS-ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π΅ΡΠ΅ΡΡ Π²ΡΠΊΠ°ΡΠΈΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΡΡ ΠΊΡΡΡΡΡ Π²Π΅ΡΡΠΈΡ. ΠΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π΅ Π² staging, ΠΈ ΠΎΠ½Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π»Π°. ΠΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΠΎΠ΄ΠΎΠ»Π΅Π²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΠ΅Ρ Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ . ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΠ°Ρ , Π½Π΅ ΡΠΈΡΠΊΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΌΡΡ Π»ΠΎΡΠ»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π²ΡΡΠ°Π·ΠΈΠ²ΡΠΈΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ±ΡΡΡ Β«ΠΏΠΎΠ΄ΠΎΠΏΡΡΠ½ΡΠΌΠΈ ΠΊΡΠΎΠ»ΠΈΠΊΠ°ΠΌΠΈΒ».
Service mesh’ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΡΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅, ΠΊΡΠΎ ΠΈ ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²ΠΈΠ΄ΠΈΡ, ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΡ ΡΡΠ°ΡΠΈΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°ΠΌΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ΅ΡΡΠΈΡ 1.0 ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π° Π²Π΅ΡΡΠΈΡ 1.1 ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π Π²Ρ, ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΠΎΠΉ ΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ, ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡ ΡΠ°ΡΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π½ΠΎΠ²ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΠΈ Π²Π°ΡΠΈ Β«ΠΏΠΎΠ΄ΠΎΠΏΡΡΠ½ΡΠ΅Β» Π΄Π°ΡΡ Π΄ΠΎΠ±ΡΠΎ.
8. Π‘ΠΈΠ½Π΅-Π·Π΅Π»Π΅Π½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
TL;DR: ΠΡΠΊΠ°ΡΡΠ²Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΊΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π±ΡΠ΄ΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Π΅ΡΠ½ΡΡΡ Π²ΡΠ΅ Π½Π°Π·Π°Π΄.
Π‘ΠΌΡΡΠ»
Service mesh’ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«ΡΠΈΠ½Π΅Π³ΠΎΒ» ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ Β«Π·Π΅Π»Π΅Π½ΡΠΉΒ» Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ. ΠΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠΏΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π΄Π°ΡΡ ΠΌΠ°ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (ΡΠΌ. ΠΏΡΠ½ΠΊΡ Β«Π’Π΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡΒ» Π½ΠΈΠΆΠ΅) ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Β«ΡΠΈΠ½Π΅Π³ΠΎΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ½ΡΡΡ, Π³ΠΎΡΠΎΠ² Π»ΠΈ ΡΠΎΡ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ.
ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ°Π·Π½ΡΡ
ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡ
ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π² Kubernetes (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ canary, blue/green ΠΈ Π΄ΡΡΠ³ΠΈΠ΅) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π²
9. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π΄ΠΎΡΠΎΠ²ΡΡ
TL;DR: Π‘Π»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½Ρ, ΠΈ ΡΠ΅Π°Π³ΠΈΡΡΠΉΡΠ΅ Π½Π° ΡΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΎΠ²ΡΠΌΠΈ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π΄ΠΎΡΠΎΠ²ΡΡ (health check) ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, Π³ΠΎΡΠΎΠ²Ρ Π»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π΄ΠΎΡΠΎΠ²ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ GET-Π·Π°ΠΏΡΠΎΡ Π½Π° endpoint /health
. ΠΡΠ²Π΅Ρ 200 OK
Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π·Π΄ΠΎΡΠΎΠ², Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ β ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π³ΠΎΡΠΎΠ² ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ°ΡΠΈΠΊ. Service mesh’ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠ°ΠΊΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΈ ΡΠ°ΡΡΠΎΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡΡ. ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π»Π΅ΠΉ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ circuit breaking’Π°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π΄ΠΎΡΠΎΠ²ΡΡ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ. Π’Π°ΠΊΠΆΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² health check’ΠΎΠ², ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ (ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅Π»ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠΎΠΊ) Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ issue Π½Π° GitHub ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΊΠ΅Ρ JIRA. Π service mesh ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ.
10. ΠΠ΅ΡΠ΅Π±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (load shedding)
TL;DR: ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΡΠ°ΡΠΈΠΊ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²ΡΠΏΠ»Π΅ΡΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠ»ΠΈ Π½Π΅ΠΊΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ (ΡΠΎ Π΅ΡΡΡ Β«ΡΠ±ΡΠΎΡΠΈΡΡΒ», Β«ΠΏΠ΅ΡΠ΅Π»ΠΈΡΡΒ» (shed) Π΅Π³ΠΎ ΡΡΠ΄Π°). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠ»ΠΈ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡ, ΠΈΠ»ΠΈ Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ
11. Π Π°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅/Π·Π΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ°
TL;DR: ΠΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π·Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡ.
ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ (ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²) ΡΡΠ°Π·Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ°ΡΡΠΈ production-ΡΡΠ°ΡΠΈΠΊΠ° Π² staging-ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ production’Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊ Π½ΠΈΠΆΠ΅ΡΡΠΎΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ products.production
ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π½Π΅ΠΌΡ. Π service mesh ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ Π½Π° products.staging
, ΠΎ ΡΠ΅ΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅Ρ.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ
ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ°, β ΡΡΠΎ
12. ΠΠ·ΠΎΠ»ΡΡΠΈΡ
TL;DR: Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΡ service mesh Π½Π° ΠΌΠΈΠ½ΠΈ-ΡΠ΅ΡΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ β ΡΡΠΎ ΠΈΡΠΊΡΡΡΡΠ²ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΡ Π΄ΡΡΠ³ ΠΎ Π΄ΡΡΠ³Π΅. ΠΠ·ΠΎΠ»ΡΡΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΠΆΠ΅ ΡΠ°Π·Π½ΠΈΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ service mesh (Π²ΡΠΎΠ΄Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²), Π½ΠΎ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΡΡΠΌΠ΅Π΅Ρ ΠΏΡΠΎΠ½ΠΈΠΊΠ½ΡΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅ΠΉ, ΠΎΠ½ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄ΡΠ΅ΡΡΡ , ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ ΠΈΡ ΡΡΠ°ΡΠΈΠΊ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π²ΡΠ·Π²Π°Π½Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄Π΅ΡΠΆΠ°ΡΡ Π² ΡΠΌΠ΅ Π²ΡΡ service mesh.
13. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΡ
TL;DR: ΠΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ Π½Π°ΡΡΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
ΠΡΠ΅ ΡΡΠΈ Π²Π΅ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ
ΠΈΠ·-Π·Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ: ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΈΠΌΠ°ΡΡ Π½Π° ΡΠ΅Π±Ρ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° Ruby on Rails (Π½Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ service mesh), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΊ backend-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π·
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΡΠΌΠ°ΡΡ ΠΎ Π½ΠΈΡ , Π½ΠΎ ΠΈ ΡΠΎ, ΡΡΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠΊΠ°ΠΆΠ΅ΠΌ, A β> B β> C β> D β> E, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠ»ΠΈ ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΎΠ΄Π»ΠΈΡΡ ΡΠ°ΠΉΠΌ-Π°ΡΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π‘, Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π·ΠΎΠΌ, Π° Π½Π΅ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ: ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ, ΠΏΠΎΠΊΠ° pull request Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡ ΠΈ CI-ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π²Π΅ΡΠ½Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ.
14. Π’Π΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ
TL;DR: Π‘ΠΎΠ±ΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΡ Π½ΡΠΆΠ½ΡΡ (ΠΈ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ) ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
Π’Π΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ β ΡΡΠΎ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΈ Π»ΠΎΠ³ΠΈ. Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ
ΡΡΠ΅Ρ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
. ΠΠ΄Π΅ΡΡ Π²ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠ»ΡΠ²ΡΠ°ΡΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΠ»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠΎ. ΠΠ»Ρ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ Π΅ΡΡΡ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ service mesh Π² ΡΠΎΠΌ, ΡΡΠΎ sidecar-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΌΠΎΠ³ΡΡ, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π² ΡΠ²ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ° ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ, ΠΈ service mesh ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- tail’ΠΈΡΡ Π»ΠΎΠ³ΠΈ ΠΎΡ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π² CLI;
- ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° service mesh;
- ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠΎΠ΄Π΅ Jaeger.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ β ΡΡΠΎ ΡΠ° ΠΎΠ±Π»Π°ΡΡΡ, ΡΠΈΠ»ΡΠ½ΠΎΠ΅ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π‘Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π° Π»Π΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Β«Π·ΠΎΠ»ΠΎΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΒ» Π²ΡΠΎΠ΄Π΅ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ β ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΡΠ°Π½Π΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ°ΠΊΠΈΡ Π€ΡΠ°Π½ΠΊΠ΅Π½ΡΡΠ΅ΠΉΠ½-ΡΡΠ΅ΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΊΠΎΠΈΡ ΡΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΅Π±Ρ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·ΡΡΠ΅Π½Ρ.
15. ΠΡΠ΄ΠΈΡ
TL;DR: Π’ΠΎΡ, ΠΊΡΠΎ Π·Π°Π±ΡΠ²Π°Π΅Ρ ΡΡΠΎΠΊΠΈ ΠΈΡΡΠΎΡΠΈΠΈ, ΠΎΠ±ΡΠ΅ΡΠ΅Π½ ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ.
ΠΡΠ΄ΠΈΡ β ΡΡΠΎ ΠΈΡΠΊΡΡΡΡΠ²ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π·Π° Π²Π°ΠΆΠ½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΡΠ»ΡΡΠ°Π΅ service mesh ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΡΠΎ Π΄Π΅Π»Π°Π» Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ endpoint’Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π½Π΅ΠΊΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΈΠΌΠ΅ΡΡΠ΅Π΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π°ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠ΅ΠΉ. Π Π°Π·Π½ΠΈΡΠ° ΠΆΠ΅ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠΎΠΉΠ½ΠΎΡΡΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π°ΡΠ΄ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΌ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΡΠΎΠ³ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ΅ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ GDPR β ΠΠ±ΡΠ΅Π³ΠΎ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠ° ΠΠ‘ ΠΏΠΎ Π·Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ ).
16. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
TL;DR: ΠΠ° Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠ΅Ρ React.js β Π½Π΅ΠΈΡΡΠΎΡΠΈΠΌΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΈΡΡΠ΄Π»ΠΈΠ²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½, Π½ΠΎ Ρ Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ. Π― ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ service mesh ΠΈΠ»ΠΈ Π΅Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΡΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ Π²ΡΠΎΠ΄Π΅ ΡΡΠ΅Π΄Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ sidecar-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π·Π΄ΠΎΡΠΎΠ²ΡΡ ΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ.
Π Π°Π±ΠΎΡΠ° Π² ΡΠ΅ΡΠ²ΠΈΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠΎΠΏΡΡΠΆΠ΅Π½Π° Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΠ³ΠΎ ΠΠ΅Π»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠΌ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ½ΠΈΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ. ΠΠ°Π½Π°Π»ΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ service mesh Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
ΠΠ΅ Π±ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΎΠΊ
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π»ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΡΠΎΠΌ ΡΠ΅ΡΠΈΠ» Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ³ΠΎ. ΠΠΎΡ ΠΎΠ½ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΠΡΠ»ΡΡΠΈ-Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡ. Π ΠΌΠΎΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΠΊΠ°Ρ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠΎΠΊ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠΎΠ΄Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
- Ingress ΠΈ egress. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ, Π½ΠΎ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ» ΡΠ΅Π±Ρ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎ) ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Β«ΡΡΠ°ΡΠΈΠΊ east-westΒ». Ingress ΠΈ egress Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ° ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π²ΡΠ΅! ΠΠΏΡΡΡ ΠΆΠ΅, ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΡΠΌΠ° ΡΡΠ»ΠΎΠ²Π΅Π½ ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ΠΏΠΎΠ»ΠΎΠ½. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Ρ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ», ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΌ-ΡΠΎ ΠΎΡΠΈΠ±ΡΡ, ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊΠΎ ΠΌΠ½Π΅ Π² Twitter (
P.S. ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΠ°ΡΡΠ΅ Π²Π·ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠ°ΡΡΠΈ Β«
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- Β«
Service Mesh: ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Software Engineer ΠΎ ΡΠ°ΠΌΠΎΠΉ Ρ Π°ΠΉΠΏΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Β»; - Β«
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ service mesh ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΠΌΠ½Π΅ Π½ΡΠΆΠ΅Π½ [Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ]? Β»; - Β«
ΠΠ°Π·Π°Π΄ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Istio. Π§Π°ΡΡΡ 1 Β».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com