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

ΠΡΠ»Π³ΠΎ ΡΡΡΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° ΡΠΏΡΠ°Π²ΡΠ½Π΅ Ρ ΡΠ°ΠΊΠΈΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ (ΠΏΠΈΡΠ°Ρ Π·Π° ΡΠΎΠ²Π° Π² Π₯Π°Π±ΡΠ°: , ), Π½ΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ°Π·ΠΊΠ°Π·Π²Π°ΠΌ Π·Π° ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° service mesh ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠΌ Π½ΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅.
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΠΎ ΡΡΠ°ΡΠΈΡΠΎ Π΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ ΡΠ°ΠΊΡΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΠ»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎ-Π»ΠΎΡΠΎ, Π² ΡΠ°ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠΎΠΉ Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ, Π° Π² Π΄ΡΡΠ³Π° ΡΠ°ΡΡ Π½Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π² ΡΡΠ°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ? ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΎΡΠ½Π°ΡΠ° ΠΊΠΎΡΠ΅Π½Π½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠ»Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠΈ ΡΠΎΡΠ½ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΏΡΡΠΈΡΠ°.
Π’ΡΠΊ Π½Π° ΠΏΠΎΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠΉΠ΄Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ service mesh, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°Π΅ΠΌΠ΅ Ρ ΡΡΠ»Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π΅ΡΠΈΡ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΠΎΡ ΡΠ°ΠΌΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°ΠΌΠ΅ ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π΅ ΡΡΡΠ±Π²Π° Π΄ΠΎΡΠΈ Π΄Π° Π·Π½Π°ΡΡ Π½ΠΈΡΠΎ Π·Π° Π½Π΅Π³ΠΎ.
ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ service mesh
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° service mesh Π΅ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΡΠ»ΠΎΠΉ Π½Π°Π΄ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½: ΠΊΡΠΌ Π²ΡΠ΅ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ sidecar ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ, ΠΏΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΡΠ΅Π»ΠΈΡΡ Π²Ρ ΠΎΠ΄ΡΡ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. Π ΡΠΎΡΠ½ΠΎ Π² ΡΠΎΠ²Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ°, Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°ΠΌΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π±ΡΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ Π²Π°ΠΆΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ.

Π Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄: ΠΈ . Π’Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ°. ΠΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ΄Π²Π° ΠΈ Π³ΠΎΠ»ΡΠΌ ΡΠ°Π·Ρ ΠΎΠ΄ Π½Π° ΡΠ΅ΡΡΡΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ Π΅ ΠΊΠ»ΡΡΡΡΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π ΠΠ²ΠΈΡΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°ΠΌΠ΅ kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° Ρ ΠΈΠ»ΡΠ΄ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈ (ΠΈ ΡΠ΅Ρ Π½ΠΈΡΡ Π±ΡΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° Π½Π°ΡΠ°ΡΡΠ²Π° Π±ΡΡΠ·ΠΎ). Π ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Istio ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΠΎΠΊΠΎΠ»ΠΎ 300Mb ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°. ΠΠΎΡΠ°Π΄ΠΈ Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ ΡΡΡΠΎ ΠΎΠΊΠ°Π·Π²Π° Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ (Π΄ΠΎ 10ms).
Π ΠΊΡΠ°Ρ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ°, Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΈΡ ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ° Π½ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° tracing ΠΎΡ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π΄ΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:β .
Netramesh
β ΡΠΎΠ²Π° Π΅ Π»Π΅ΠΊΠΎ service mesh ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π±Π΅Π·ΠΊΡΠ°ΠΉΠ½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π±ΡΠΎΡ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈ Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΡ Π° ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·Ρ ΠΎΠ΄ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ tracing spanβΠΈ Π² Π½Π°ΡΠ°ΡΠ° Jaeger ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ½Π΅Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π° Golang. Π, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠΎΠ²Π° ΠΈΠΌΠ° ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ. ΠΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Golang, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ Ρ Π²Ρ ΠΎΠ΄-ΠΈΠ·Ρ ΠΎΠ΄ ΠΈ ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Ρ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ Π½Π° ΡΠ΄ΡΠ°, Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ. Π, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π° Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΈ Π·Π°Π΄Π°ΡΠ°. ΠΠ°ΡΠΎΠ²Π° ΠΈ Π½ΠΈΠ΅ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ Golang.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ
Π‘ΡΠΎΠΊΡΡΠΈΡΠ°Π»ΠΈ ΡΠΌΠ΅ ΡΡΠΈΠ»ΠΈΡΡΠ° ΡΠΈ Π²ΡΡΡ Ρ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π° Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΈΠ½ΡΡΠ°Π½Ρ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ ΠΏΡΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ.
ΠΠ΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅.
RAM
Netramesh ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ~10Mb Π±Π΅Π· ΡΡΠ°ΡΠΈΠΊ ΠΈ 50Mb ΠΏΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π΄ΠΎ 10000 RPS Π½Π° Π΅Π΄ΠΈΠ½ ΠΈΠ½ΡΡΠ°Π½Ρ.
Istio envoy ΠΏΡΠΎΠΊΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ~300Mb Π² Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Ρ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈ. Π’ΠΎΠ²Π° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π³ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌ Π² ΡΠ΅Π»ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.


Π‘ Netramesh ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Ρ ~10 ΠΏΡΡΠΈ.
CPU
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° CPU Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ΄ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. Π’ΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ ΠΊΡΠΌ sidecar. Π‘ΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈ 3000 Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π² ΠΏΠΈΠΊ:


ΠΠΌΠ° ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ Π²Π°ΠΆΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ: Netramesh Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· control plane ΠΈ Π±Π΅Π· Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π‘ Istio sidecar-ΠΈΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ endpoint-ΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΊΠ°Π²Π° ΠΊΠ°ΡΡΠΈΠ½Π° Π±Π΅Π· Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅:

ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ HTTP/1 Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅. Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠ΅Π· envoy Ρ Istio Π΅ Π±ΠΈΠ»ΠΎ Π΄ΠΎ 5-10ms, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°. Π‘ Netramesh ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π΄ΠΎ 0.5-2ms.
ΠΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΈ, ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°Π½ΠΈ ΠΎΡ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠΊΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π°. Netramesh Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° control plane Π·Π° ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π»Π΅ΠΊΠΎΡΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ sidecar. Π§Π΅ΡΡΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π·Π° service mesh control plane ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° service discovery Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ sidecar. Π‘ Π½Π΅Ρ ΠΈΠ΄Π²Π° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°ΠΉΠΌ-Π°ΡΡΠΈΡΠ΅, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π½Π΅ΡΠ°, Π½ΠΎ, Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° sidecar-ΠΈΡΠ΅.
ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ

Netramesh Π½Π΅ Π΄ΠΎΠ±Π°Π²Ρ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° service discovery. Π¦Π΅Π»ΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΠΈΡΠΈΡΠ° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π· netra sidecar.
Netramesh ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° HTTP/1 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ ΠΌΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΠΎΡΡΠΎΠ²Π΅. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΡΡΠ°, ΠΏΠΎ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ HTTP. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ 80, 8890, 8080. Π ΡΠ°ΠΊΡΠ² ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π·Π° ΡΡΠ΅Π΄Π°. NETRA_HTTP_PORTS.
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Kubernetes ΠΊΠ°ΡΠΎ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Service Π·Π° Π²ΡΡΡΠ΅ΡΠ½ΠΎΠ³ΡΡΠΏΠΎΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ ΠΎΡΡΠ°Π²Π° ΡΠΎΡΠ½ΠΎ ΡΡΡΠΈΡΡ. ΠΡΡΠ²ΠΎ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° service IP Π°Π΄ΡΠ΅Ρ ΡΡΠ΅Π· kube-dns ΠΈ ΠΎΡΠ²Π°ΡΡ Π½ΠΎΠ²ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ Π½Π΅Π³ΠΎ. Π’ΠΎΠ²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ netra-sidecar ΠΈ Π²ΡΠΈΡΠΊΠΈ TCP ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² netra. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° netra-sidecar ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π°ΡΠ° ΡΠΎΡΠΊΠ° Π½Π° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. NAT Π½Π° pod IP Π½Π° Π²ΡΠ·Π΅Π»Π° ΠΎΡΡΠ°Π²Π° ΡΠΎΡΠ½ΠΎ ΡΡΡΠΈΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±Π΅Π· netra.
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°
Netramesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° tracing spanβΠΎΠ²Π΅ ΠΎΡΠ½ΠΎΡΠ½ΠΎ HTTP Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ°. Netra-sidecar ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° HTTP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΈΠ·ΠΌΠ΅ΡΠ²Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΈΠ·Π²Π»ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ HTTP Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ°. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ traceβΠΎΠ²Π΅ Π² Π΅Π΄ΠΈΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Jaeger. ΠΠ° ΡΠΈΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° ΡΡΠ΅Π΄Π°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. .


ΠΠΎ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΎΠΊΠ°ΡΠΎ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈΡ uber Π·Π°Π³Π»Π°Π²ΠΈΠ΅, Π½ΡΠΌΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ tracing spanβΠΎΠ²Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π ΡΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Π±ΡΡΠ·ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅. Π’ΡΠΊ Netramesh ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠΊΡΠΈ ΡΠ΅ΡΠ°Ρ HTTP Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° ΠΈ, Π°ΠΊΠΎ Π² ΡΡΡ
Π½ΡΠΌΠ° uber trace id, Π³ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ. Netramesh ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²Ρ
ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π² sidecar ΠΈ ΡΡΠΏΠΎΡΡΠ°Π²Ρ ΡΡΡ
ΡΡΠ΅Π· ΠΎΠ±ΠΎΠ³Π°ΡΡΠ²Π°Π½Π΅ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΈΡ Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π΅ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΡΠ°ΠΌΠΎ Π΅Π΄Π½ΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅. X-Request-Id, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π·Π° ΡΡΠ΅Π΄Π°. NETRA_HTTP_REQUEST_ID_HEADER_NAME. ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π² Netramesh, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° ΡΡΠ΅Π΄Π°: NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS (Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΡΠ΅Π· ΠΊΠΎΠ΅ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°) ΠΈ NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL (ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°).
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠ΅ΠΊΠΈ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΌΠ°ΡΠΊΠΈΡΠ°ΠΉΠΊΠΈ Π³ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠ΅ΡΠΈΠΎΠ½Π΅Π½ ΠΌΠ°ΡΠΊΠ΅Ρ. Netra ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ HTTP_HEADER_TAG_MAP Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° HTTP Π·Π°Π³Π»Π°Π²ΠΈΡ Π² ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ tracing span ΡΠ°Π³ΠΎΠ²Π΅. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅. Π‘Π»Π΅Π΄ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡ ΡΠ΅ΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΡ ΡΠ°ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ Π±ΠΈΠ»Π° Π·Π°ΡΠ΅Π³Π½Π°ΡΠ°, ΠΊΠ°ΡΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ session ΠΊΠ»ΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°
ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ ΠΎΡΠΊΡΠ΄Π΅ Π΅ Π΄ΠΎΡΠ»Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Ρ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° NETRA_HTTP_X_SOURCE_HEADER_NAME ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°Π΄Π°Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° NETRA_HTTP_X_SOURCE_VALUE ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡ, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°Π΄Π°Π²Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ X-Source Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π² ΡΡΠ»Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π² ΡΠ»ΡΠΆΠ±ΠΈΡΠ΅ ΠΈ Π΄Π° Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π² Π»ΠΎΠ³ΠΎΠ²Π΅, ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
Π ΠΎΡΡΠΈΠ½Π³ Π½Π° ΡΡΠ°ΡΠΈΠΊ ΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΎΡΡΠΈ Π½Π° Netramesh
Netramesh ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΡΡΠ²ΠΈΡΡ, netra-init, ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° sidecar, ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΡΠΎΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° Netramesh. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΊΠΎΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠ²Π΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½ΠΈ Π·Π° Π²Ρ
ΠΎΠ΄ΡΡΠΈ ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈ TCP ΡΠ΅ΡΠΈΠΈ: INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ β Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅Π½ ΡΠΎΡΡΠΈΠ½Π³. ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Netramesh ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° tracing spanβΠΎΠ²Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½ΠΎ ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΈ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅Π½ ΡΠΎΡΡΠΈΠ½Π³ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ NETRA_INBOUND_PROBABILITY ΠΈ NETRA_OUTBOUND_PROBABILITY (ΠΎΡ 0 Π΄ΠΎ 1). Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 1 (ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½ Π΅ ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ).
Π‘Π»Π΅Π΄ ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΏΡΠΈΡ
Π²Π°Ρ netra sidecar ΠΏΡΠΈΠ΅ΠΌΠ° Π½ΠΎΠ²ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SO_ORIGINAL_DST ΠΎΠΏΡΠΈΡΡΠ° Π½Π° ΡΠΎΠΊΠ΅ΡΠ° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π°ΡΠ° ΡΠΎΡΠΊΠ° Π½Π° Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Netra ΠΎΡΠ²Π°ΡΡ Π½ΠΎΠ²ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ IP Π°Π΄ΡΠ΅Ρ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½Π° TCP ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠ»ΡΡΠ°ΠΉΠΊΠΈ ΡΠ΅Π»ΠΈΡ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΡΡΠ°ΡΠΈΠΊ. ΠΠΊΠΎ ΠΏΠΎΡΡΡΡ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΡΠΎ HTTP, Netra ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° Π³ΠΎ ΠΏΠ°ΡΡΠΈΡΠ° ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈ. ΠΠΊΠΎ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π½Π° HTTP Π½Π΅ Π΅ ΡΡΠΏΠ΅ΡΠ΅Π½, Netra ΠΏΡΠ°Π²ΠΈ ΡΠ°Π»Π±Π΅ΠΊ Π½Π° TCP ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠ° Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅.
ΠΠΎΡΡΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ°Ρ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅
Π‘Π»Π΅Π΄ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° tracing Π² Jaeger, ΠΆΠ΅Π»Π°Π΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ»Π΅Π½ Π³ΡΠ°Ρ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎ Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½Π° ΠΈ Π·Π° Π΅Π΄ΠΈΠ½ Π΄Π΅Π½ ΡΠ΅ Π½Π°ΡΡΡΠΏΠ²Π°Ρ ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ΠΈ tracing span-ΠΎΠ²Π΅, Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ ΡΡΠ°Π²Π° Π΄ΠΎΡΡΠ° ΡΠ»ΠΎΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ°. ΠΠΌΠ° ΠΎΡΠΈΡΠΈΠ°Π»Π΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠΎΠ²Π°: . ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΠΎΠΉ ΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠ°ΡΠΎΠ²Π΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΏΡΠ»Π΅Π½ Π³ΡΠ°Ρ ΠΈ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ dataset ΠΎΡ Jaeger Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 24 ΡΠ°ΡΠ°.
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Elasticsearch Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° tracing span-ΠΎΠ²Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΡ , ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ² Π³ΡΠ°Ρ Π·Π° ΠΌΠΈΠ½ΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Elasticsearch.

ΠΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Netramesh
Netra ΠΌΠΎΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΊΡΠΌ Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π°, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ .
ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Netra Π½ΡΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° sidecar ΠΊΡΠΌ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π½ΠΎ ΠΈΠΌΠ° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅.
ΠΡΠ΄Π΅ΡΠ΅ΡΠΎ Π½Π° Netramesh
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π΅ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° observability ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΌΠ΅ΠΆΠ΄ΡΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π Π±ΡΠ΄Π΅ΡΠ΅ Netramesh ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΡΠ»ΠΎΠΉ, ΠΎΡΠ²Π΅Π½ HTTP. Π Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΡΡΠ°Π½Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ L7 ΡΡΡΠΈΡΠ°Π½Π΅.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Netramesh, Π°ΠΊΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°ΡΠ΅ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
