ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: Service mesh β ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΅ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ (Π±ΠΎΠ»Π΅Π΅ 2 Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Β«ΡΠ΅ΡΠΊΠ° Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²Β», Π° ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΡΡΠ°Π»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Β«ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠΎΒ»). ΠΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΡ ΠΎΠ± ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠ»Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²Π°Ρ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅. ΠΡΠΎΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° ΠΏΡΠΈΠ·Π²Π°Π½ Π²Π½Π΅ΡΡΠΈ ΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ.
ΠΠΎΠΌΠΈΠΊΡ ΠΎΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π³Π΄Π΅-ΡΠΎ Π² ΡΠ°ΠΉΠΎΠ½Π΅ Π±ΡΠΊΠ΅Π½Π΄-ΡΠΈΡΡΠ΅ΠΌ, ΡΠ΅ΡΠΌΠΈΠ½ Β«service meshΒ», Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΆΠ΅ ΠΏΡΠΎΡΠ½ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ»ΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π½Π°Π½ΠΈΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΠ°ΡΡ Π»Π΅Ρ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΡΠ°Π½Π½ΠΎΠΌΡ ΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ², ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΡΠ°ΡΠ»Ρ Π²ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅, Π° Ρ Π°ΠΉΠΏ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°ΡΠ°ΡΡΠ°ΡΡ ΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ½Π΅ΠΆΠ½ΡΠΉ ΠΊΠΎΠΌ, Π»Π΅ΡΡΡΠΈΠΉ Π²Π½ΠΈΠ· ΠΏΠΎ ΡΠΊΠ»ΠΎΠ½Ρ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π°ΡΡΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ.
Service mesh Π·Π°ΡΠΎΠ΄ΠΈΠ»Π°ΡΡ Π² ΠΌΡΡΠ½ΡΡ , ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΎΠ·Π½ΡΡ Π²ΠΎΠ΄Π°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ cloud native. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ Π½Π΅ΠΉ ΠΏΠΎΠ»Π΅ΠΌΠΈΠΊΠΈ Π²Π°ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡ Β«Π½ΠΈΠ·ΠΊΠΎΠΊΠ°Π»ΠΎΡΠΈΠΉΠ½ΠΎΠΉ Π±ΠΎΠ»ΡΠΎΠ²Π½ΠΈΒ» Π΄ΠΎ β Π΅ΡΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ β ΠΎΡΠΊΡΠΎΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΈ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΡΠ΅ΡΡΡ Π²Π΅ΡΡ ΡΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Ρ service mesh Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΡΠ½Π°Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΈ Π²Π°ΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ.
Π ΡΡΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ: ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΡΠ½ΠΎΠ΅, Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ service mesh. Π― ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²ΠΎΠΏΡΠΎΡ: Β«Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅?Β», β Π½ΠΎ ΠΈ Β«ΠΠ°ΡΠ΅ΠΌ?Β», Π° ΡΠ°ΠΊΠΆΠ΅ Β«ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ?Β». ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΠΏΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ (ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ) ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²ΡΠ·Π²Π°Π»Π° ΡΠ°ΠΊΠΎΠΉ ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ Π°ΠΆΠΈΠΎΡΠ°ΠΆ, ΡΡΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ.
ΠΡΠΎ Ρ?
ΠΡΠΈΠ²Π΅Ρ Π²ΡΠ΅ΠΌ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ
ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ΡΡ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΈΡΡΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΈ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ. ΠΠΏΡΠΎΡΠ΅ΠΌ, Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΡΠ²Π΅ΡΡΠΈ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΎΠ·Π½ΠΎΡΡΡ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°: Β«ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΎΠ² ΠΎ service mesh?Β», β Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΠΎΠ΄Π΅Π»ΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠ΅Π΄Π²Π·ΡΡΡΠΌΠΈ ΠΈΠ΄Π΅ΡΠΌΠΈ). Π’Π°ΠΊΠΆΠ΅ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΡ Π²ΡΠ΅ ΡΠΈΠ»Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ. Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΡΠ΄Ρ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΠΎΠΏΡΡ Linkerd, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΌΠ½Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ) Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² service mesh.
ΠΠΊΠ΅ΠΉ, ΠΏΠΎΡΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π²ΠΊΡΡΠ½ΡΡΠΊΠ°ΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ service mesh?
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²Π΅ΡΡ Ρ Π°ΠΉΠΏ, ΡΡΡΡΠΊΡΡΡΠ½ΠΎ service mesh ΡΡΡΡΠΎΠ΅Π½Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΊΡΡΠ° userspace-ΠΏΡΠΎΠΊΡΠΈ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Β«ΡΡΠ΄ΠΎΠΌΒ» Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ (ΠΏΠΎΡΠΎΠΌ ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«ΡΡΠ΄ΠΎΠΌΒ»), ΠΏΠ»ΡΡ Π½Π°Π±ΠΎΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠΎΠΊΡΠΈ Π² ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ data plane, Π° ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½ΡΡΡΡΡ control plane. Data plane ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Ρ Π½ΠΈΠΌΠΈ Β«Π²ΡΡΠΊΠΎΠ΅-ΡΠ°Π·Π½ΠΎΠ΅Β»; control plane, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ Π²Π°Ρ, Ρ.Π΅. ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΊ API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ Π΅Ρ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅.
Π§ΡΠΎ ΡΡΠΎ Π·Π° ΠΏΡΠΎΠΊΡΠΈ? ΠΡΠΎ TCP-ΠΏΡΠΎΠΊΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Β«Layer 7-awareΒ» (Ρ.Π΅. Β«ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠ΅Β» 7 ΡΡΠΎΠ²Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI) Π²ΡΠΎΠ΄Π΅ HAProxy ΠΈ NGINX. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠΊΡΠΈ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Π²ΠΊΡΡΡ; Linkerd ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠΊΡΠΈ Π½Π° Rust, Π½Π΅Π·Π°ΠΌΡΡΠ»ΠΎΠ²Π°ΡΠΎ Π½Π°Π·Π²Π°Π½Π½ΡΠΉ
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΈ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΡ? ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΠ½ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΈ ΠΎΡ Π½ΠΈΡ
(ΡΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
ΠΏΡΠΎΠΊΡΠΈ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΠΊΠ°ΠΊ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅, ΡΠ°ΠΊ ΠΈ ΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ). Π ΠΎΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΡΡΠΈΠΉΡΡ Π½Π° Π²ΡΠ·ΠΎΠ²Π°Ρ
ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. ΠΡΠΎΡ ΡΠΎΠΊΡΡ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ service mesh-ΠΏΡΠΎΠΊΡΠΈ ΠΎΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ»ΡΠ·ΠΎΠ² API ΠΈΠ»ΠΈ ingress-ΠΏΡΠΎΠΊΡΠΈ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΎΠΊΡΡΠΈΡΡΡΡΡΡ Π½Π° Π²ΡΠ·ΠΎΠ²Π°Ρ
, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ
Π² ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΡΠ°). (ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Ingress Π΄Π»Ρ Kubernetes, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Envoy, ΡΠΌ. Π²
ΠΡΠ°ΠΊ, Ρ data plane ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ. Control plane ΡΡΡΡΠΎΠ΅Π½Π° ΠΏΡΠΎΡΠ΅: ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ Π²ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° data plane, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π²ΡΠΏΡΡΠΊ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² TLS, Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Ρ. Π΄. Data plane ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ control plane ΠΎ ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ; Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, control plane ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ data plane ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΡ
Π΅ΠΌΠ° control plane ΠΈ data plane Π² Linkerd. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, control plane Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Prometheus, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ destination
(ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²), identity
(ΡΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, CA) ΠΈ public-api
(endpoint’Ρ Π΄Π»Ρ web ΠΈ CLI). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠΎΠ³ΠΎ, data plane ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ linkerd-proxy ΡΡΠ΄ΠΎΠΌ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ
Π΅ΠΌΠ°; Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΏΡΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° control plane ΠΈ ΡΠΎΡΠ½ΠΈ ΠΈΠ»ΠΈ ΡΡΡΡΡΠΈ ΠΏΡΠΎΠΊΡΠΈ Π² data plane.
(Π‘ΠΈΠ½ΠΈΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Π½Π° ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΠ·ΠΈΡΡΡΡ Π³ΡΠ°Π½ΠΈΡΡ pod’ΠΎΠ² Kubernetes. ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Ρ linkerd-proxy Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ pod’Π΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΊΠ°ΠΊ sidecar-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.)
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° service mesh ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΎΠΊΡΠΈ β ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, service mesh ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΎΡΡ Π½Π° Π½Π΅ΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Mesh ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΠΎ ΡΠ²Π½ΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ ΡΠ°Π΄ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ, Π΄Π° ΠΈ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π²ΡΡΠ΄ Π»ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½.
ΠΡΡΠ³ΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ service mesh ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠΊΡΠΈ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Linkerd ΡΠ΅ΠΏΠ»ΡΠ΅Ρ linkerd-proxy ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° (Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΡΠΎΠΊΡΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ·Π»Ρ/Ρ ΠΎΡΡΡ/Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ Π½Π΅ΠΌΠ°Π»ΠΎ). Π‘ΡΠΎΠ»Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΠΈ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ΡΠ΅Ρ ΡΡΠ΄ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ:
- ΠΡΠΎΠΊΡΠΈ Π² data plane Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π±ΡΡΡΡΡΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΠΏΡΠΎΠΊΡΠΈ: ΠΎΠ΄Π½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΎΠ΄Π½ΠΎ β Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
- Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΊΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΌΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ CPU, ΠΈ ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΡΠ°ΡΡΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
- ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠΊΡΠΈ. ΠΠ΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ β Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ.
Π ΠΎΠ±ΡΠ΅ΠΌ, service mesh Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Ρ Π²ΡΡΠΎΡΡ ΠΏΡΠΈΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅ΡΠ°): Π²Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΊΡΡΡ userspace-ΠΏΡΠΎΠΊΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Β«ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡΒ» Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ, ΠΌΠ΅ΠΆΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ control plane Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠΈ.
ΠΠ°ΡΡΠ°Π» ΡΠ΅ΡΠ΅Π΄ Π²ΠΎΠΏΡΠΎΡΠ° Β«ΠΠ°ΡΠ΅ΠΌ?Β»
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Π° service mesh?
Π’Π΅ΠΌ, ΠΊΡΠΎ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΈΠ΄Π΅Π΅ΠΉ service mesh, ΠΏΡΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ Π»Π΅Π³ΠΊΠΈΠΉ ΡΡΠ΅ΠΏΠ΅Ρ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ service mesh ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΊΡΡΡ Π½ΠΎΠ²ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. Π‘ΠΏΠ΅ΡΠ²Π° Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ service mesh, Π° ΠΏΠΎΡΠΎΠΌ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΈ (Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΡΡΡΠΈ) ΠΏΡΠΎΠΊΡΠΈ. Π‘ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΡΠΎ Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π° ΡΡΠΎ?
ΠΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ ΠΏΡΠΎΠΊΡΠΈ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΌ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅).
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²Π²Π΅ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ. Π Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ service mesh ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½ΠΎ ΠΈ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½Π΅ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ service mesh ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΡΠΎΠΌ ΠΏΠΎΡΡΡΠ»Π°ΡΠ΅: Π² ΠΌΡΠ»ΡΡΠΈΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Linkerd (ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ mesh’Π΅ΠΉ) ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° Π²ΡΠ·ΠΎΠ²Π°Ρ HTTP, Π²ΠΊΠ»ΡΡΠ°Ρ HTTP/2 ΠΈ gRPC*. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ³Π°ΡΠ°Ρ β Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°:
- Π€ΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡΡ. ΠΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡΡ, ΠΊΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅/ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ°) ΠΈ Ρ.Π΄.
- Π€ΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠΌ. ΠΠ³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΠΈ, Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ; ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Ρ.Π΄.
- Π€ΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ. Mutual TLS, ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Ρ.Π΄.
* Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Linkerd gRPC ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ HTTP/2: ΠΏΡΠΎΡΡΠΎ Π² ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ protobuf. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π²Π΅ ΡΡΠΈ Π²Π΅ΡΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΎΡΡΡΠ΄Π° ΠΈ Β«L7-ΠΏΡΠΎΠΊΡΠΈΒ»). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ Foo ΠΏΠΎΡΡΠ»Π°Π΅Ρ HTTP-Π²ΡΠ·ΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΡ Bar, linkerd-proxy Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Foo ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ Ρ Foo Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Bar Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ; ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ (ΠΈ Π΅ΡΠ»ΠΈ ΡΠΎΡ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ΅Π½); ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΈ Ρ.Π΄. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ linkerd-proxy Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Bar ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²; ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈ Ρ.Π΄.
ΠΡΠΎΠΊΡΠΈ ΠΌΠΎΠ³ΡΡ Β«ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡΒ» ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, linkerd-proxy Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Foo ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ TLS-ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π° linkerd-proxy Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Bar β ΡΠ°Π·ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΈ ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°*. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, Π½ΠΎ ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²: Foo ΠΈ Bar ΠΌΠΎΠ³ΡΡ Β«Π΄ΠΎΠΊΠ°Π·Π°ΡΡΒ», ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ΅, ΠΊΠ΅ΠΌ ΡΠ΅Π±Ρ Π½Π°Π·ΡΠ²Π°ΡΡ.
* Β«ΠΡΡΠ³ Π΄ΡΡΠ³Π°Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ (mutual TLS). Π Β«ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΒ» TLS, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ (ΡΠ΅ΡΠ²Π΅ΡΠ°).
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ service mesh Π½ΠΎΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ. Linkerd Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»Ρ Π² JSON-ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² protobuf. Π ΡΡΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ ESB ΠΈ middleware.
Π’Π°ΠΊΠΎΠ² Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ service mesh. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ? Π Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠΊΡΠΈ?
ΠΠΎΡΠ΅ΠΌΡ service mesh β ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ
Π₯ΠΎΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ service mesh Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π½Π½ΠΎΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π»Π΅ΠΆΠΈΡ Π½Π΅ Π² ΡΡΠ½ΠΊΡΠΈΡΡ . Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ²ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ service mesh). ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΡΡ ΠΌΡΡΠ»Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅Π½Π½ΠΎΡΡΡ service mesh ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: ΠΎΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ° ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Β«Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡΒ». ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΡΠ° ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π΅ Π½Π° Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, API-ΡΠ΅ΡΠ²Π΅Ρ, Π΄Π° ΠΈ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, β ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ ΠΈΠ· ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΡΠ΅ΡΠ΅ ΡΡΠΎ ΠΠ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ β Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ Π²Π°Ρ, Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΠ. Π Π²ΡΠ΅ ΡΡΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ Π΄Π»Ρ Π²Π°Ρ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ, ΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ. ΠΠ°ΠΊ ΡΠ°Π· ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅ΡΠΈΡΡ service mesh.
(ΠΠΊΠ΅ΠΉ, Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π°Π±Π·Π°Ρ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΎΠ±ΡΠ°Π»Π°ΡΡ ΠΌΠΎΡ ΡΠ±Π΅ΠΆΠ΄Π΅Π½Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΠ. ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΡ, Β«ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΒ» ΠΈ ΠΈΠ½ΡΠ΅ ΡΡΡΠΊΠΈ, Π½Π΅ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅. Π£ ΡΡΠΈΡ Π»ΡΠ΄Π΅ΠΉ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ ΠΌΠΎΠ΅Π³ΠΎ. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Β«Π½Π΅ ΠΏΡΠ°Π²ΡΒ» β Ρ ΠΎΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ service mesh Π΄Π»Ρ Π½ΠΈΡ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½Π°).
Β«ΠΠ΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ°Β». Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ service mesh, Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Ρ. ΠΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ, ΠΊΡΠΎ ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π», ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈ ΠΎΡ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Β«ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ». ΠΠ°ΠΊΠΎΠ½Π΅Ρ, service mesh Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ° β ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π€ΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠ½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ service mesh, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Ρ.Π΄., Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ service mesh. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, service mesh ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΡΠ°ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, service mesh Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ, Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. Π ΠΏΠΎΡΡΠΎΠΌΡ, Ρ ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ service mesh ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ), ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΡΡΡ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, ΡΡΠΎΠ»Ρ ΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ service mesh.
Π Π²ΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ, β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΡΡΡ ΠΏΡΠΎΠΊΡΠΈ! ΠΠ±Π΅ΡΠ°Ρ, ΠΎΡΠ΅Π½Ρ ΡΠΊΠΎΡΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ ΠΏΡΠΎΠΊΡΠΈ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΈ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΡΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π»ΡΠ΄Π΅ΠΉ.
ΠΠΎΠΌΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ service mesh?
ΠΠ°ΠΊ Π±Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ΠΊΠ°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΡΠ°Π»Π° Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΈΠ½ΡΡΠ° Π»ΡΠ΄ΡΠΌΠΈ. Π’Π°ΠΊ ΠΊΡΠΎ ΠΆΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² service mesh? ΠΡΠΎ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ ΠΎΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ?
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΠ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ Π³ΡΡΠΏΠΏΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈ Π²Π½Π΅Π΄ΡΡΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ, ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΡ ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π ΠΌΠ°Π»ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡ ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π»ΡΠ΄ΠΈ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠΈ ΡΠΎΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΠΏΠΎΠ΄ΡΠΎΠ»ΠΈβ¦ (Π’ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΠΌΠ΅Π½ΡΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΡΠΎΠ΄Π΅ devops’Π°, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎΠΌ Π²Π»ΠΈΡΠ½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Ρ. ΠΏ. ΠΠΎ ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΠΌ ΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΎΡΡΡ).
Π‘ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ²Π½ΡΠΌΠΈ Π±Π΅Π½Π΅ΡΠΈΡΠΈΠ°ΡΠ°ΠΌΠΈ service mesh ΡΠ²Π»ΡΡΡΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ΅Π΄Ρ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΡΠ΅Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π΅Π»ΠΎΠ²ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΠΌΡΠ°ΡΠ½ΡΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ Π΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ. Service mesh Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ: ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π΅ Π½Π°Π»Π°Π³Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π° Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠ»Π°Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΈΠ³ΡΡΠ²Π°ΡΡ, Ρ ΠΎΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠΎΡΡΠ΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π¦Π΅Π»Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° β Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΡΠΌ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΈ ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π΅ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π²ΠΎΠΏΡΠΎΡΠ°Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ, ΡΠ΅ΠΌ Π»ΡΡΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΠΎΠ»ΠΈΡΠΈΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ TLS, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° Π·Π°Π΄Π°ΡΠ°Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ. ΠΠ»Ρ Π½ΠΈΡ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΡΡΠ΄Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΡΠ΅Π½ΠΈΡΡ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΎΠ½Π° Π²Π½ΠΎΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ΅Π½Π½ΠΎΡΡΡ service mesh.
ΠΡ ΡΡΠ²ΠΎΠΈΠ»ΠΈ ΡΡΠΎΡ ΡΡΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ² Linkerd ΡΠ°ΡΡΠΊΠ°Π·Π°Π» Π½Π°ΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ service mesh: ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΈΠΌ Β«ΡΠ²Π΅ΡΡΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΡΠ½Ρ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡΒ». ΠΠΎΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ: ΡΠ΅Π±ΡΡΠ° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ²ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² Kubernetes. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΠΎΠ½ΠΈ Ρ ΠΎΡΠ΅Π»ΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ . ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ½ΡΠ»Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠΎΡΠ΅Π½ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΡΠΎΡΠ΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π° ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΈ ΡΠ±Π΅ΠΆΠ΄Π°ΡΡ Π²Π½Π΅ΡΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ TLS Π² ΡΠ²ΠΎΠΈ ΠΏΠ»Π°Π½Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΡ Π½Π΅ ΡΠ°Π΄ΠΎΠ²Π°Π»Π°. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Linkerd, ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ»ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎ Π±ΡΠ»ΠΈ Π»ΠΈΡΠ½ΠΈΠ΅ Ρ Π»ΠΎΠΏΠΎΡΡ) Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ Π²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΡΠ³ΠΈΠΌ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Linkerd ΡΠ΅ΡΠ°Π» Π΄Π»Ρ Π½ΠΈΡ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, service mesh β ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ, Π° ΡΠΎΡΠΈΠΎ-ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. (Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
Π Π΅ΡΠΈΡ Π»ΠΈ service mesh Π²ΡΠ΅ ΠΌΠΎΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΠΠ°. Π ΡΠΌΡΡΠ»Π΅, Π½Π΅Ρ!
ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠ·Π²ΡΡΠ΅Π½Π½ΡΡ Π²ΡΡΠ΅: Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡΡ, β ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ service mesh Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π½ΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π₯ΠΎΡΡ Linkerd ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ»Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ (Π΅ΡΠ»ΠΈ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½Ρ), ΠΎΠ½ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΠ°Π» β ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Linkerd ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΡΠΏΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ β ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Ρ ΠΎΡΡ Linkerd ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ mTLS, ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² Π΄Π΅Π»Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π±ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ.
ΠΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ , ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ service mesh, ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΈΡΠ°ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎΠ΄ ΡΡΠΈΠΌ Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅:
- ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΎΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ. Π‘ΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΌ Π²Π΅Π΄Π΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Foo ΠΈ Bar, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Foo Π²ΡΠ·ΡΠ²Π°Π΅Ρ Bar.
- Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. Π Linkerd ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΡΡΡΡΡ Π²ΡΡΠΊΠΈΠΌΠΈ Π½Π°Π²ΠΎΡΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΡΡΠΊΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ Π±ΡΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ (retry budgets), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±Π΅ΡΡ ΠΈΡΡΠΎΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄-Π²-Π»ΠΎΠ± Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²Π΅ΡΠ΅ΠΉ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Β«Π»Π°Π²ΠΈΠ½Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ²Β» (retry storm) ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΌ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
- ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ TLS ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²Π΅Π·Π΄Π΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΠΊΡΠΈ (Π° Π½Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), service mesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π° Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ, ΠΊΡΠΎ ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π» ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ. ΠΡΠΎΠΊΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ, Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠ½ΠΎΠ²Π° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Ρ. Π΄., Π»Π΅ΠΆΠΈΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΡΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ service mesh
ΠΠΎΠ΄Π²ΠΎΠ΄Ρ ΠΈΡΠΎΠ³, Ρ ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ service mesh Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π Π°Π·ΠΌΠ°Ρ ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ°ΡΡΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Ops/SRE-ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Service mesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Β«ΡΡΠ΅Π·Β» Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ.
ΠΠΎΡΠ΅ΠΌΡ service mesh ΡΡΠ°Π»Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ?
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ Π·Π°Π΄Π°Π΅ΡΠ΅ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: ΠΎΠΊΠ΅ΠΉ, Π΅ΡΠ»ΠΈ service mesh Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠ°, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ Π½Π΅ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΏΡΠΎΠΊΡΠΈ Π² ΡΡΠ΅ΠΊΠ΅ Π»Π΅Ρ Π΄Π΅ΡΡΡΡ Π½Π°Π·Π°Π΄?
ΠΡΡΡ Π±Π°Π½Π°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ: Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π²ΡΠ΅ ΡΡΡΠΎΠΈΠ»ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΡ, ΠΈ service mesh Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ Π±ΡΠ»Π° Π½ΡΠΆΠ½Π°. ΠΡΠΎ ΠΏΡΠ°Π²Π΄Π°, Π½ΠΎ, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, Π² ΡΠ°ΠΊΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ΅ ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΡΡΡ. ΠΠ°ΠΆΠ΅ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΊΠ°ΠΊ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΡΠΏΠ½ΠΎΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΈΡΠΎΠΊΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»Π°ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡ Π² ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ , ΠΊΠ°ΠΊ Twitter, Facebook, Google ΠΈ Netflix. ΠΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π² ΡΠ΅Ρ ΡΠ°ΡΡΡΡ ΠΎΡΡΠ°ΡΠ»ΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π», β ΡΠΎΡΡΠΎΡΠ»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΡΠΎ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±Β» ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠΊΠΈ ΡΡΡΠ΄Π½ΠΎ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ ΠΎΡΡ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΡΡΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ, ΠΎΠ½ΠΈ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ Π²ΡΡΠΊΠ°Π»ΠΈ ΠΏΡΠΎΠΊΡΠΈ Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ service mesh. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΡΠΌΠΎΡΡΠ΅ΡΡΡΡ, ΠΎΠ½ΠΈ Π΄Π΅Π»Π°Π»ΠΈ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅: Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, fat client library).
Π£ Netflix Π±ΡΠ»Π° Hysterix, Ρ Google Π±ΡΠ»Π° Stubby, Ρ Twitter β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Finagle. Finagle, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ»Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π² Twitter. ΠΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π° ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π»Π° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ»ΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ° Twitter, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΡΠ΅ΡΠ²ΠΈΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ JVM-ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π»Π°ΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ service mesh. (ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Linkerd ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»Π° ΡΠΎΠ±ΠΎΠΉ Finagle, ΠΎΠ±Π΅ΡΠ½ΡΡΡΠΉ Π² ΡΠΎΡΠΌΡ ΠΏΡΠΎΠΊΡΠΈ.)
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ, Π½ΠΎ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎ-service-mesh Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ΅ΡΠ°Π²ΡΠΈΠ΅ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΎ service mesh ΡΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌΠΎΠΉ service mesh ΡΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ»ΠΎ. ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΄Π²ΠΈΠ³, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ.
Π ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ Π»Π΅ΠΆΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ, ΡΠΊΡΡΡΡΠΉ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π΅, ΡΠ»ΡΡΠΈΠ²ΡΠ΅ΠΉΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10 Π»Π΅Ρ: ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠ΅Π·ΠΊΠΎΠ΅ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄: Twitter, Netflix, Facebook, Google, β Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ². Π£ Π½ΠΈΡ Π±ΡΠ»Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ, Π½ΠΎ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ½Π΅ΡΠ³ΠΈΡ ΠΈ ΡΡΠΈΠ»ΠΈΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌΠΈ Twitter ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠ°ΠΆΠ°ΡΡ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. (Π§Π΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΊΠ°ΠΊ ΠΈ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ΄Π°Π»ΠΎΡΡ.) ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΠΌΠ°Π½Π΅Π²ΡΡ ΡΠΎΠ³Π΄Π° Π±ΡΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π»Ρ ΠΌΠ΅Π½ΡΡΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.
ΠΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠ°ΡΡΠ°ΠΏΡ, Π³Π΄Π΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 5:1 (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅
1500 ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² Monzo; ΠΊΠ°ΠΆΠ΄Π°Ρ Π»ΠΈΠ½ΠΈΡ β ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ ΡΡΠ°ΡΠΈΠΊ
Π Π΅Π·ΠΊΠΎΠ΅ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°: ΡΠΎΡΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡΠΎΠ². ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΈ ΡΠΎΡΡΠΎΠΈΡ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ service mesh. ΠΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ΄Π΅Π»Π°Π»Π° ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ°ΠΊ service mesh, ΡΠ°ΠΊ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ: Kubernetes ΠΈ Docker.
ΠΠΎΡΠ΅ΠΌΡ? ΠΡ, Docker ΡΠ΅ΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ (Π½Π΅ΡΠ΅ΡΠ΅Π²ΡΠ΅) runtime-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Docker ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°: ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ β Π°ΡΠΎΠΌΠ°ΡΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ, Π±ΡΠ΄Ρ ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° JVM, Node, Go, Python ΠΈΠ»ΠΈ Ruby. ΠΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ, ΠΈ Π²ΡΠ΅.
Kubernetes Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ Π½Π° Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ ΠΊΡΡΠ° Β«Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΡΡΠΊΒ» ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΈΠ½, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Π²Ρ Π΄Π°Π΅ΡΠ΅ Kubernetes ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΈΠ½, Π° ΠΎΠ½ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠ΅Π½ΡΡΡΠΈΠΉΡΡ ΠΏΡΠΎΡΠ΅ΡΡ: Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΌΠ°ΡΠΈΠ½Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΈ Ρ.Π΄. ΠΠ΄Π½Π°ΠΊΠΎ Kubernetes ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠΎ).
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Kubernetes Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ»Π°Π±ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π·Π°ΡΡΠ°Ρ Π½Π° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ Π΄Π΅ΡΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΎΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΠΈ Π΄Π»Ρ 100 ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²). ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, ΠΏΠΎΠΎΡΡΡΡΡΠΈΠΉ ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°ΡΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ β ΠΊΠ°ΠΊ ΡΠ°Π· ΡΡ ΡΡΠ΅Π΄Ρ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ service mesh.
ΠΡΠ°ΠΊ, ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΎΡΠ²Π΅ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠ΄Π΅Ρ service mesh ΡΡΠ°Π»Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ: ΡΠ° ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Kubernetes ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΡΠΌΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ, ΡΡΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄ service mesh. ΠΡ ΠΏΠ°ΠΊΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π΄Π°Π΅ΡΠ΅ Kubernetes Π·Π°Π΄Π°ΡΡ ΠΏΡΠΈΠ»Π΅ΠΏΠΈΡΡ ΠΈΡ ΠΊΡΠ΄Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π²ΡΠ°Π»Ρ! ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ service mesh, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠΎΠΉ Π΅Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Kubernetes. (ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Ρ Π²ΡΡΠΎΡΡ ΠΏΡΠΈΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅ΡΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π² ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½ΡΠ°Π½ΡΠΎΠ².)
ΠΠΎΠ΄Π²ΠΎΠ΄Ρ ΠΈΡΠΎΠ³: ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ service mesh ΡΡΠ°Π»Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ, Π° Π½Π΅ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Kubernetes ΠΈ Docker Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² Π½Π΅ΠΉ, ΡΠΏΡΠΎΡΡΠΈΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡΠΎΠ² ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π½ΠΎ ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΈ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ Π½Π° Π΅Π΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ°ΡΠΊΠΎΠ² sidecar-ΠΏΡΠΎΠΊΡΠΈ.
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΎΠ² ΠΎ service mesh?
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΠΏΡΠΈΠ±Π΅Π³Π°Ρ ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π΄ΠΎΠ³Π°Π΄ΠΊΠ°ΠΌ, ΠΈΠ·ΠΌΡΡΠ»Π΅Π½ΠΈΡΠΌ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠΎΠ²Π΅Π΄Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΡΠ°Π·Π΅ Β«service meshΒ», Π²Ρ Π½Π°ΡΠΊΠ½Π΅ΡΠ΅ΡΡ Π½Π° ΠΊΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΊΠ°Π»ΠΎΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΡΡΡΠ°Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠ°Π»Π΅ΠΉΠ΄ΠΎΡΠΊΠΎΠΏΠ° ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π΄ΠΎΡΡΠΎΠΉΠ½ΡΡ ΡΡ ΠΎ-ΠΊΠ°ΠΌΠ΅ΡΡ. ΠΡΠ±ΠΎΠΉ ΠΌΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΎ, Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ service mesh ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠΎΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΡΡΠΎ. ΠΠΎΡΠ΅ΠΌΡ?
ΠΡ, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΎΡ Π²ΠΈΠ½Π°. Π― ΠΏΡΠΈΠ»Π°Π³Π°Π» Π²ΡΠ΅ ΡΠΈΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡ Linkerd ΠΈ service mesh ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΡΠ΅ΠΌ Π±Π΅ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² Π±Π»ΠΎΠ³Π΅ ΠΈ ΡΡΠ°ΡΠ΅ΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΡΠΎΠΉ. ΠΠΎ Ρ Π½Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ³ΡΡ. Π§ΡΠΎΠ±Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ. Π Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π½Π΅ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΠ² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΠ΅ΠΊΡ:
(Π£ ΡΡΠΈΡ ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠ»ΠΈ: ΡΡΠ°ΡΡΠΈΠ΅ Lyft, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π»ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ; ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ Envoy, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Istio ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠ²ΡΡΡ Π² Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. IBM ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Istio ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ. Google Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Istio, Π½ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ³Ρ ΡΡΠ΄ΠΈΡΡ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ.)
ΠΡΠΎΠ΅ΠΊΡ Istio ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ Π΄Π²ΡΠΌΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΡΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Google, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΊ Π΅Π³ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΠΌΠΎΠΈΠΌ ΠΎΡΠ΅Π½ΠΊΠ°ΠΌ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ, ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Π½ΡΡ
ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ service mesh Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ·Π½Π°Π»ΠΈ ΠΎ Π½Π΅ΠΉ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Istio. ΠΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ»ΠΎΡ
ΠΎ Istio Π±ΡΠ» ΠΏΡΠΈΠ½ΡΡ. Π ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡΠ΅ Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎΡΠΎΠ½Π° Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½Π°Ρ, Π½ΠΎ ΠΏΡΡΠ°ΡΡΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, Π²ΡΡ ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π΅
(ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Ρ Istio, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈ UX, Π½ΠΎ ΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ
ΠΡΡΠ°Π²Π»ΡΡ Π² ΡΡΠΎΡΠΎΠ½Π΅ ΠΌΠΎΠΈ ΡΠ΅ΠΎΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π·Π°ΡΠΊΠ°Π»ΠΈΠ²Π°ΡΡΠΈΠΉ Π°ΠΆΠΈΠΎΡΠ°ΠΆ Π²ΠΎΠΊΡΡΠ³ service mesh ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Google. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ΅Ρ ΡΠ°ΠΊΡΠΎΡΠΎΠ²:
- Π½Π°Π²ΡΠ·ΡΠΈΠ²ΠΎΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Istio ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Google;
- ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π½Π΅ΠΎΠ΄ΠΎΠ±ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ;
- Π½Π΅Π΄Π°Π²Π½ΠΈΠΉ ΡΡΡΠ΅ΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π·Π»Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ Kubernetes, Π²ΠΎΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡ ΡΠ²Π΅ΠΆΠΈ.
ΠΠΌΠ΅ΡΡΠ΅ ΡΡΠΈ ΡΠ°ΠΊΡΠΎΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² Π½Π΅ΠΊΠΎΠ΅ Π΄ΡΡΠΌΠ°Π½ΡΡΠ΅Π΅, Π±Π΅ΡΠΊΠΈΡΠ»ΠΎΡΠΎΠ΄Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΡΠ»Π°Π±Π΅Π²Π°Π΅Ρ, ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΄Π½Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Linkerd ΡΡΠΎβ¦ Ρ Π±Ρ ΠΎΠΏΠΈΡΠ°Π» ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ Π±Π»Π°Π³ΠΎ. Π― ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ, Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ service mesh Π²ΠΎΡΠ»Π° Π² ΠΌΠ΅ΠΉΠ½ΡΡΡΠΈΠΌ β ΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π² 2016-ΠΌ, ΠΊΠΎΠ³Π΄Π° Linkerd ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΈ Π±ΡΠ»ΠΎ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠΈΠ²Π»Π΅ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠΊΡΡΠΆΠ°ΡΡΠΈΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ! ΠΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΎ, ΡΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ service mesh ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½Π°Ρ, ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ service mesh (Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ). ΠΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΠΌΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌ (ΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Istio ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Linkerd, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ).
Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Linkerd Π½Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΌ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈ, ΠΏΠΎ ΡΡΡΠΈ, ΠΆΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π°ΠΆΠΈΠΎΡΠ°ΠΆ ΠΏΠΎΡΡΠΈΡ Π½Π΅Ρ. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Ρ Π°ΠΉΠΏ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π° ΡΠ±ΡΠ»Ρ, ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎΠΊΠ° ΠΆΠ΅ Π½Π°ΠΌ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ΅ΡΠΏΠ΅ΡΡ.
ΠΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ service mesh ΠΌΠ½Π΅, ΡΠΊΡΠΎΠΌΠ½ΠΎΠΌΡ software engineer?
Π‘ ΠΎΡΠ²Π΅ΡΠΎΠΌ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΡΠΎΡΠ½ΠΈΠΊ:
ΠΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ service mesh Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ. Π’ΠΎ Π΅ΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ, Π½ΠΎ Π² ΠΈΠ΄Π΅Π°Π»Π΅ service mesh Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΡΠΌΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Π»ΠΈΡΡΡ Π½Π° ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ΅ΠΌ, Π·Π° ΡΡΠΎ Π²Π°ΠΌ ΠΏΠ»Π°ΡΡΡ.
ΠΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Kubernetes? ΠΠ°, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ service mesh Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ K8s ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ β Π½ΠΎ ΡΠΎΠ³Π΄Π° Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ, Π·Π°ΡΠ΅ΠΌ Π²Π°ΠΌ K8s). Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ ΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ. ΠΡΠ΅ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Π² ΠΊΠ»ΡΠ±ΠΎΠΊ runtime-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Kubernetes ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ service mesh Β«ΠΏΠΎΠ΄ ΡΠ΅Π±ΡΒ». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ΅ Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ Π²Π°ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ· ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π°ΡΠ°ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ Linkerd).
ΠΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΠ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Kubernetes, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ service mesh Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ service mesh, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ² ΠΊΡΡΡ ΠΏΡΠΎΠΊΡΠΈ, Π½ΠΎ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Kubernetes ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ: ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΡΠΎΠΊΡΠΈ Π²ΡΡΡΠ½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΈΠ» ΠΈ Π·Π°ΡΡΠ°Ρ.
ΠΡ ΠΎΡΠ²Π΅ΡΠ°Π΅ΡΠ΅ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°ΠΌΠΈ? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ service mesh Π²Π°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ Π½ΡΠΆΠ½Π°. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°ΠΌΠΈ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠ²), ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΈ ΡΠ΅Π΄ΠΊΠΎ ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠΎ service mesh ΠΌΠ°Π»ΠΎ ΡΡΠΎ ΡΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ. Π’Π°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ Π΅Π΅ ΠΈ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΈΡΡΠ΅Π·Π½Π΅Ρ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ½ΡΠΉ ΡΠΎΠ½β¦
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, service mesh Π²ΡΡ-ΡΠ°ΠΊΠΈ Π½Π΅ ΡΡΠΎΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΡΠ°ΠΌΠΎΠΉ Ρ Π°ΠΉΠΏΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΌΠΈΡΠ°Β» β ΡΡΠ° ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π±ΠΈΡΠΊΠΎΠΈΠ½Ρ ΠΈΠ»ΠΈ ΠΠ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½Π° Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΡΠ΅ΡΠΊΡ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ±ΠΈΡΡΡΡ ΡΠΊΠ²ΠΎΠ·Ρ ΡΠ»ΠΎΠΈ ΡΡΠΌΠ° ΠΈ Π³Π°ΠΌΠ°, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠ½ΠΎ, ΡΡΠΎ service mesh ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·Ρ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Kubernetes.
Π― Ρ
ΠΎΡΠ΅Π» Π±Ρ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Linkerd β Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π² Minikube Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅)
FAQ
β ΠΡΠ»ΠΈ Ρ Π±ΡΠ΄Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ service mesh, ΠΎΠ½Π° ΠΈΡΡΠ΅Π·Π½Π΅Ρ?
β ΠΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ³ΠΎΡΡΠΈΡΡ Π²Π°Ρ: service mesh Ρ Π½Π°ΠΌΠΈ Π½Π°Π΄ΠΎΠ»Π³ΠΎ.
β ΠΠΎ Ρ ΠΠ Π₯ΠΠ§Π£ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ service mesh!
β ΠΡ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ! Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠΉ ΠΎΠΏΡΠΎΡΠ½ΠΈΠΊ Π²ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ
ΠΎΡΡ Π±Ρ Ρ Π΅Π΅ Π°Π·Π°ΠΌΠΈ.
β Π Π°Π·Π²Π΅ ΡΡΠΎ Π½Π΅ ΡΡΠ°ΡΠΎΠ΅ Π΄ΠΎΠ±ΡΠΎΠ΅ ESB/middleware ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡΠΌ ΡΠΎΡΡΠΎΠΌ?
β Service mesh Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, Π° Π½Π΅ ΡΠΌΡΡΠ»ΠΎΠ²ΠΎΠΉ.
β Π§Π΅ΠΌ service mesh ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ API-ΡΠ»ΡΠ·ΠΎΠ²?
β Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΡΡΠ°ΡΠ΅ΠΉ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ. ΠΡΠΎΡΡΠΎ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΡΠ΅.
β Envoy β ΡΡΠΎ service mesh?
β ΠΠ΅Ρ, Envoy β ΡΡΠΎ Π½Π΅ service mesh, ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ service mesh (ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ β ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ). ΠΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΠ½ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ service mesh.
β Network Service Mesh β ΡΡΠΎ service mesh?
β ΠΠ΅Ρ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ service mesh (ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡΡΠ΄Π΅ΡΠ° ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π°?).
β ΠΠΎΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ service mesh Ρ ΠΌΠΎΠ΅ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π½Π° Π±Π°Π·Π΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ?
β ΠΠ΅Ρ, service mesh Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
β ΠΠ°ΠΊΡΡ service mesh ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
β
β Π‘ΡΠ°ΡΡΡ β ΠΎΡΡΡΠΎΠΉ! / ΠΠ²ΡΠΎΡΠ° β Π½Π° ΠΌΡΠ»ΠΎ!
β ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° Π½Π΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π΄ΡΡΠ·ΡΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΠΌΠΎΠ³Π»ΠΈ Π² ΡΡΠΎΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ!
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° Π²Π΄ΠΎΡ
Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ°ΠΊΡΠ°ΡΠΎΠΌ Jay Kreps Β«
Π₯ΠΎΡΡ Ρ Π»ΡΠ±Π»Ρ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅Π±Ρ Β«ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ LinkerdΒ», ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ²Π°, ΡΡΠΎ Ρ ΡΠΊΠΎΡΠ΅Π΅ maintainer ΡΠ°ΠΉΠ»Π° README.md Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ°Π΄ Linkerd ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π Π² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ Linkerd,
P.S. ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- Β«
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ service mesh ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΠΌΠ½Π΅ Π½ΡΠΆΠ΅Π½ [Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ]? Β»; - Β«
Traefik 2.0: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ service mesh Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ TCP ΠΈ Π½ΠΎΠ²ΡΠΌ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Β»; - Β«
Maesh β Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ service mesh Π΄Π»Ρ Kubernetes ΠΎΡ Π°Π²ΡΠΎΡΠΎΠ² Traefik Β»; - Β«
ΠΠ°Π·Π°Π΄ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Istio. Π§Π°ΡΡΡ 1 Β»; - Β«
Conduit β Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉ service mesh Π΄Π»Ρ Kubernetes Β».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com