Π₯Π΅ΠΉ Π₯Π°Π±Ρ! ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌ Π½Π° Π²Π°ΡΠ΅ΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π²ΠΎΠ΄Π° Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°
Π’ΠΎΠ·ΠΈ ΠΏΡΡ βΠΈΡΠΊΠ°Ρ
ΠΈ ΠΏΡΠ΅Π²Π΅Π΄ΠΎΡ
β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π²Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΡΠ»ΡΠ³Π°, ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π’ΠΎΠ²Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΈ ΡΠ΅ ΡΡΠΎΡΠΈ Π½Π°ΠΉ-ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΎΡΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π²ΠΎΠ΄Π΅ΡΠΎ Π΄ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° βΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈ Π΅ ΠΈΠ·ΠΎΠ±ΡΠΎ?β
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ΄Π΅ΡΡΠ° Π·Π° βΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ°β ΡΡΠ°Π½Π° Π²ΡΠ΅ ΠΏΠΎ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ (ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π° ΡΡΠ°ΡΠΈΡ ΠΎΡ 10 ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ 2017 Π³.) ΠΈ Π±ΡΠΎΡΡ Π½Π° ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ, Π²ΠΈΠ΄ΡΡ
ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΡΠΊΠ²Π°Π½Π΅ΡΠΎ ΡΡΠ΅Π΄ ΡΡΠ»ΠΎΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ° ΠΎΠ±ΡΠ½ΠΎΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡΠ°Π²Π½ΡΠ²Π°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘ΠΈΡΡΠ°ΡΠΈΡΡΠ° Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π° ΠΎΡ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΡΡΠΈΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ
ΠΏΡΠ΅Π· ΡΠ»ΠΈ:
ΠΠ±ΡΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° #1: Linkerd ~ = Nginx ~ = Haproxy ~ = Envoy. ΠΠΈΠΊΠΎΠΉ ΠΎΡ ΡΡΡ Π½Π΅ Π΅ ΡΠ°Π²Π΅Π½ Π½Π° Istio. Istio Π΅ Π½Π΅ΡΠΎ ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ. 1 /
ΠΡΡΠ²ΠΈΡΠ΅ ΡΠ° ΠΏΡΠΎΡΡΠΎ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ. Π‘Π°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ ΡΠ΅ Π½Π΅ ΠΏΡΠ°Π²ΡΡ Π½ΠΈΡΠΎ. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ° Π² Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π·Π° Π½Π΅ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅. 2/
Istio Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°, ΠΊΠΎΡΡΠΎ ΡΠ²ΡΡΠ·Π²Π° ΡΠ°ΡΡΠΈΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ. Π’ΠΎΠ²Π° Π΅ Π΄ΡΡΠ³ ΡΠ»ΠΎΠΉ. /ΠΊΡΠ°ΠΉ
ΠΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠΈΡΠΎΠ²Π΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Linkerd, NGINX, HAProxy, Envoy ΠΈ Istio), Π½ΠΎ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π΅, ΡΠ΅ Π²ΡΠ²Π΅ΠΆΠ΄Π°Ρ ΠΎΠ±ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π·Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΌΡΠ΅ΠΆΠ° Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π ΡΠ°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Ρ ΠΊΡΠ°ΡΠΊΠ° Π½Π°Π·Π°Π΄ ΠΈ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠ΄ ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ΅ βΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈβ ΠΈ βΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅β Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΊΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅, ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π² ΡΡΠΈΡΠΎΠ²Π΅.
ΠΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π΅ ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ°?
Π€ΠΈΠ³ΡΡΠ° 1: ΠΠ±Ρ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°
Π€ΠΈΠ³ΡΡΠ° 1 ΠΈΠ»ΡΡΡΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ° Π½Π° Π½Π΅ΠΉΠ½ΠΎΡΠΎ Π½Π°ΠΉ-ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π½ΠΈΠ²ΠΎ. ΠΠΌΠ° ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠ° (AD). ΠΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ. Π¦Π΅Π»ΠΈΡΡ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ°ΡΠΈΠΊ (HTTP, REST, gRPC, Redis ΠΈ Π΄Ρ.) ΠΎΡ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΡΠ΅Π· Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΠΊΡΠΌ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π½Π°Π²Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ ΠΈ Π·Π½Π°Π΅ ΡΠ°ΠΌΠΎ ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° ΠΎΡ ΡΡΠ»ΡΠ³Π°ΡΠ°.
Π Π°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ
Π ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°. ΠΠ°ΠΊΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ/ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?
- ΠΠ΄ΡΠ°Π²Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π²ΡΡΠ½Π°ΡΠΈ ΠΎΡ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°, Π·Π΄ΡΠ°Π²ΠΈ Π»ΠΈ ΡΠ° ΠΈ Π³ΠΎΡΠΎΠ²ΠΈ Π»ΠΈ ΡΠ° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ°ΡΠΈΠΊ? Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠ°ΠΊΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈ (Π½Π°ΠΏΡ. ΠΎΡΠ³ΠΎΠ²ΠΎΡ/ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ), ΡΠ°ΠΊΠ° ΠΈ ΠΏΠ°ΡΠΈΠ²Π½ΠΈ (Π½Π°ΠΏΡ. ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 3 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ 5xx ΠΊΠ°ΡΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° Π½Π΅Π·Π΄ΡΠ°Π²ΠΎΡΠ»ΠΎΠ²Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°) ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΡΠ°.
- ΠΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅. ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ "/foo" ΠΎΡ REST ΡΡΠ»ΡΠ³Π°, ΠΊΡΠΌ ΠΊΠΎΠΉ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°?
- ΠΠ°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΡΠ΅ΡΠ²ΠΈΠ·Π΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΊΡΠΌ ΠΊΠΎΡ ΡΡΠ»ΡΠ³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π·Π°ΡΠ²ΠΊΠ°ΡΠ°? Π‘ ΠΊΠ°ΠΊΡΠ² ΡΠ°ΠΉΠΌΠ°ΡΡ? Π‘ ΠΊΠ°ΠΊΠ²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π΅ΡΠΈΠ³Π°ΡΠ°? ΠΠΊΠΎ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π΅ Π½Π΅ΡΡΠΏΠ΅ΡΠ½Π°, ΡΡΡΠ±Π²Π° Π»ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ?
- Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ. ΠΠ° Π²Ρ ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΌΠΎΠΆΠ΅ Π»ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π°/ΡΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° mTLS ΠΈΠ»ΠΈ Π½ΡΠΊΠ°ΠΊΡΠ² Π΄ΡΡΠ³ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ? ΠΠΊΠΎ Π΅ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Ρ/ΡΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ΅Π½, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π»ΠΈ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ° Π·Π°ΡΠ²Π΅Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΠΊΡΠ°ΠΉΠ½Π° ΡΠΎΡΠΊΠ°) Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈΠ»ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ Π½Π΅Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ?
- ΠΠ°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡ. ΠΠ° Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅/ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊ Π½Π° ΡΡΠ°ΡΠΈΠΊ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ.
Π Π°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΡΠΎΡΠΊΠΈ Π² ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΡΡΡΠ½ΠΎΡΡ ΠΏΡΠΎΠΊΡΠΈΡΠΎ, Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ° (sidecar) Π΅ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π° Π·Π° ΡΡΠ»ΠΎΠ²Π½ΠΎΡΠΎ ΠΈΠ·Π»ΡΡΠ²Π°Π½Π΅, ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ ΠΊΡΠΌ ΠΈΠ»ΠΈ ΠΎΡ ΡΡΠ»ΡΠ³Π°.
ΠΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π°
ΠΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΡ ΠΏΡΠΎΠΊΡΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π² ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Π΅ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠ° (?). ΠΠ°ΠΊ ΠΎΠ±Π°ΡΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π·Π½Π°Π΅ Π·Π° ΠΌΠ°ΡΡΡΡΡΠ° "/foo" ΠΊΡΠΌ ΡΡΠ»ΡΠ³Π° B? ΠΠ°ΠΊ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π²Π°Ρ ΠΎΡ ΠΏΡΠΎΠΊΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ? ΠΠ°ΠΊ ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΈ Ρ.Π½.? ΠΠ°ΠΊ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΈΠ½ΡΠΎ/Π·Π΅Π»Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° ΠΈΠ·ΡΡΠ΅Π½ ΡΡΠ°ΡΠΈΠΊ? ΠΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π·Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°?
ΠΡΠΈΡΠΊΠΈ Π³ΠΎΡΠ΅ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΡΠ° ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° Π²Π·Π΅ΠΌΠ° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ° Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Π³ΠΈ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠΈΡΠ»Ρ, ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ°, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ·ΠΈ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π·Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΠ±ΡΡΠΊΠ²Π°ΡΠΈ, Π΅, ΡΠ΅ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Ρ ΠΎΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π΅ ΠΏΠΎΠ·Π½Π°ΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΅ ΡΡΠΆΠ΄Π°/Π½Π΅ΡΠ°Π·Π±ΡΠ°Π½Π°. ΠΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΠ΅ΡΠΈ ΠΈ ΡΡΠΈΡΠΎΠ²Π΅ ΠΎΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π Π°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅/Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΎΡ ΡΠΎΡΠΊΠ° Π Π΄ΠΎ ΡΠΎΡΠΊΠ° Π ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ Π°ΡΠ΄ΡΠ΅Ρ ΠΈ ΡΠΎΡΡΡΠ΅Ρ, Π·Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°. ΠΠΎΠ²ΠΎΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ° ΡΠ° ΠΏΡΠΎΡΡΠΎ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅.
Π€ΠΈΠ³ΡΡΠ° 2: Π§ΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°
ΠΠΈΠ΅ ΠΎΠ±Π°ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ ΠΎΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ²ΡΡΠ·Π²Π°Ρ ΡΠ°Π·ΠΈ ΡΠ°ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Ρ ΠΊΠΎΠΉΡΠΎ ΠΈ Π΄Π° Π΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΡΠΈΡΠΈΠ½Π°ΡΠ° Π΅ ΠΏΡΠΎΡΡΠ°:
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠ°ΠΌΠΎΠ»Π΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π΄Π½Π΅Ρ, ΡΠΌΠ΅... Π½ΠΈΠ΅.
ΠΠ° ΡΠΈΠ³ΡΡΠ° 2 ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΡΠΈΡΠ°ΠΌ βΠ§ΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°β. ΠΡΠΈ ΡΠΎΠ·ΠΈ ΡΠΈΠΏ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΌΡΡΠ΄Π°Ρ ΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ·Π΄Π°Π²Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ - ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΡΡΠ΅Π· ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ - ΠΈ Π³ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π° ΡΡΠ΅Π· Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΊΡΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
Π€ΠΈΠ³ΡΡΠ° 3: Π£ΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°
ΠΠ° ΡΠΈΠ³ΡΡΠ° 3 ΠΏΠΎΠΊΠ°Π·Π²Π° βΡΠ°Π·ΡΠΈΡΠ΅Π½Π°ΡΠ°β ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π‘ΡΡΡΠΎΠΈ ΡΠ΅ ΠΎΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ:
- Π§ΠΎΠ²Π΅ΠΊΡΡ: ΠΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ° ΡΠΎΠ²Π΅ΠΊ (Π½Π°Π΄ΡΠ²Π°ΠΌ ΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΄ΠΎΡΠ°Π½), ΠΊΠΎΠΉΡΠΎ Π²Π·Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ.
- ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°: Π§ΠΎΠ²Π΅ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΈΠΏ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π·Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΡΠ΅Π± ΠΏΠΎΡΡΠ°Π», ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄ (CLI) ΠΈΠ»ΠΈ Π½ΡΠΊΠ°ΠΊΡΠ² Π΄ΡΡΠ³ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡΡ ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΊΠ°ΡΠΎ:
- ΠΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ, ΡΠΈΠ½ΡΠΎ/Π·Π΅Π»Π΅Π½ΠΎ ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π΅Π½ ΠΏΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°
- ΠΠΏΡΠΈΠΈ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ
- Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ "/foo" ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΈ Π΄Ρ.
- ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅: Π£ΡΠ»ΡΠ³ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΡΡΠ΅Π· Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΈΠΏ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅/ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ, ΠΊΠ°ΡΠΎ Kubernetes ΠΈΠ»ΠΈ Nomad. ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π°Π΅Π΄Π½ΠΎ Ρ Π½Π΅ΠΉΠ½ΠΈΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ.
- ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°. ΠΠΎΠ³Π°ΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ ΡΡΠ°ΡΡΠΈΡΠ° ΠΈ ΡΠΏΠΈΡΠ° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈ, ΡΠΎΠΉ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ.
- API Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Sidecar ΠΏΡΠΎΠΊΡΠΈ : ΠΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Ρ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΅Π²Π΅Π½ΡΡΠ°Π»Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π±Π΅Π· Π½Π°ΠΌΠ΅ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ. Π¦ΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΡΡΠΎΡΡΠ° ΡΠ΅ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈ, Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° Π² Π΅Π΄Π½Π° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°. API Π·Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Envoy Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π»ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ΅ΡΠ° ΠΎΡ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎ-ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΎΡ Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ!...
Π Π°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΡΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π°
- Π Π°Π²Π½ΠΈΠ½Π° Ρ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°: ΠΠ°ΡΡΠ³Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ/Π·Π°ΡΠ²ΠΊΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ/ΡΡΠ»ΡΠ³ΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΡΠ°, ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅, Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅/ΡΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ°Π²Π°Π½Π΅ ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅.
- ΠΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°: ΠΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π·Π° ΡΡΠ»ΡΠ³ΠΈ. ΠΠ΅ Π΄ΠΎΠΊΠΎΡΠ²Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ/Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΏΡΠ΅Π²ΡΡΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠΊΡΡΠ°Π»Π΅Π½ ΠΏΠ΅ΠΉΠ·Π°ΠΆ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅, Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°.
- Π Π°Π²Π½ΠΈΠ½ΠΈ Ρ Π΄Π°Π½Π½ΠΈ: Linkerd, NGINX, HAProxy, Envoy, Traefik
- ΠΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠ°ΠΌΠΎΠ»Π΅ΡΠΈ: Istio, Nelson, SmartStack
ΠΠΌΠ΅ΡΡΠΎ Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°ΠΌ Π² Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π²ΡΡΠΊΠΎ ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅, ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ° Π½Π°ΠΊΡΠ°ΡΠΊΠΎ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΠΎΡΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠΌΡΡΠ°ΠΌ, ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Ρ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ ΠΎΠ±ΡΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π² Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
Linkerd Π±Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈ Π·Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2016 Π³. ΠΈ ΡΠ²ΡΡΡΠΈ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ΅Π½ΠΎΡΡΡΠ° ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ ΠΊΡΠΌ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅. ΠΠΊΠΎΠ»ΠΎ 6 ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°, Envoy ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΠΊΡΠΌ Linkerd (Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π±Π΅ΡΠ΅ Ρ Lyft ΠΎΡ ΠΊΡΠ°Ρ Π½Π° 2015 Π³.). Linkerd ΠΈ Envoy ΡΠ° Π΄Π²Π°ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Ρ ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ.
Istio Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ²Π΅Π½ ΠΏΡΠ΅Π· ΠΌΠ°ΠΉ 2017 Π³. Π¦Π΅Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Istio ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² ΡΠΈΠ³ΡΡΠ° 3. Envoy Π·Π° Istio Π΅ ΠΏΡΠΎΠΊΡΠΈΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. Π’Π°ΠΊΠ° Istio Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π°, Π° Envoy Π΅ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ° ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Istio ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ ΠΊΠ°ΡΠΎ Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π» Π½Π° Envoy (ΠΊΠ°ΠΊΡΠΎ Linkerd, ΡΠ°ΠΊΠ° ΠΈ NGINX Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Ρ Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Istio). Π€Π°ΠΊΡΡΡ, ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°, ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ° Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ. API ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠΈΡ API Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Envoy ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΎΡΠΌΠΈΡΠ° ΠΌΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π΅ ΡΠ°ΡΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
Nelson ΠΈ SmartStack ΠΏΠΎΠΌΠ°Π³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ»ΡΡΡΡΠΈΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. Nelson ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Envoy ΠΊΠ°ΡΠΎ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΅ΠΊΠ° HashiCorp, Ρ.Π΅. ΠΠΎΠΌΠ°Π΄ ΠΈ Π΄Ρ. SmartStack Π±Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΏΡΡΠ²ΠΈΡΡ ΠΎΡ Π½ΠΎΠ²Π° Π²ΡΠ»Π½Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ. SmartStack ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΎΠΊΠΎΠ»ΠΎ HAProxy ΠΈΠ»ΠΈ NGINX, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°ΠΉΠΊΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π·Π° ΠΎΡΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΎΡ ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΎΡ ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ ΡΡΡ ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΏΡΠΈΠ²Π»ΠΈΡΠ° Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ (Ρ ΠΏΡΠ°Π²ΠΎ!) ΠΈ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π² ΡΠ°Π·ΠΈ ΠΏΠΎΡΠΎΠΊΠ°. ΠΡΠ΅Π· ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ ΠΊΠ°ΠΊΡΠΎ Π² ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π² ΡΠ°Π²Π½ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½ΠΎ ΡΠΌΠ΅ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°Π½Π΅ ΠΏΠΎ-ΠΏΡΠΎΠ·ΡΠ°ΡΠ½Π° ΠΈ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠ° (?) Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΠ°Π½ΠΎ Π²ΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ Π΄ΡΠ°Π·Π½ΠΈ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ
- Π‘Π΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ: ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ°Π²Π½ΠΈΠ½Π° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π Π΄Π²Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΈ Π±Π΅Π· ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
- ΠΡΠ΅ΠΊΠΈ Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΈ Π² ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΅ Π²ΠΈΠ΅!
- ΠΡΠΈΡΠΊΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΠΏΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠΎΡΡ.
- ΠΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠ°Π²Π½ΠΈΠ½ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ°, ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ° ΠΈ Π»Π΅ΠΊΠΎΡΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.
- ΠΠ΄Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΄ΡΡΠΆΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΈ API, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π²Π½ΠΈΠ½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com