ΠΠΎΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ, Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°Π²ΡΠΌΠ΅ ΠΏΡΠ΅Π΄ Π½ΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π°.
Π ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π΄ΠΎΡΡΠ° Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π² ΠΊΠΎΡ ΡΠ°ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π»Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ°. ΠΠ°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ Π² ΠΊΠΎΠ΄Π° Π½Π° ΡΠ°ΠΌΠΈΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΈΠ»ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π΄Π° ΡΡΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·, Π²ΡΠΈΡΠΊΠΎ Π²Π΅ΡΠ΅ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ. Π’ΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΡΠ΅Π»ΠΈΡ ΠΏΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΈΠ·Π²ΡΡΠ²ΡΠ»Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π΄ΠΎ ΠΊΡΠ°Ρ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΎΡ ΡΡΠΎΡΠΈΡΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΡ ΠΈΠΌΠ°Ρ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΡΠΎΡΡΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
ΠΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π±ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π» Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ (ΠΏΠΈΡΠ°Ρ
Π·Π° ΡΠΎΠ²Π° Π½Π° HabrΓ©:
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π΅ ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠ°Π½Π΅, Π°ΠΊΠΎ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ, ΠΏΠΎ-Π»ΠΎΡΠΎ, Π² ΡΠ°ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π½ΠΎ ΠΎΡΡΠ°ΡΡΠΈ Π½Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΡΠ°ΡΠΈ ΡΡΠ»ΡΠ³ΠΈ ? ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠΎΡΠ½Π°ΡΠ° ΠΏΡΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π΄Π°Π΄Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ»Π½Π° ΠΊΠ°ΡΡΠΈΠ½Π° Π½Π° ΡΠ»ΡΡΠ²Π°ΡΠΎΡΠΎ ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΏΡΡΠΈΡΠ°.
Π’ΡΠΊ Π½Π° ΠΏΠΎΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½ΠΈ Π΄ΠΎΠΉΠ΄Π΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ Ρ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ, ΠΏΠΎ-Π½ΠΈΡΠΊΠΎ ΠΎΡ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ°Π±ΠΎΡΡΡ ΡΠ°ΠΌΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΡ Π²Π°Π½Π΅ΠΌ ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π΄ΠΎΡΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°ΡΡ Π½ΠΈΡΠΎ Π·Π° ΡΠΎΠ²Π°.
Π‘Π΅ΡΠ²ΠΈΠ·Π΅Π½ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° mesh Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΡΡΠ³ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΡΠ»ΠΎΠΉ Π²ΡΡΡ Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Π²ΡΠΈΡΠΊΠΎ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½: ΠΊΡΠΌ Π²ΡΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ, ΠΏΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΡΠ΅Π»ΠΈΡΡ Π²Ρ ΠΎΠ΄ΡΡ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. Π ΡΠΎΠ²Π° Π΅ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°ΠΌΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, Π΄Π° Π½Π°Π»Π°Π³Π°ΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡ Ρ Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ Π²Π°ΠΆΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
Π Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄:
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΡΠΎΡΠ½ΠΎ ΠΎΡ ΠΊΠ°ΠΊΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΡΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΎΡ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΈ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ ΡΡΡ Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΡΠΈΠ³Π½Π°Ρ
ΠΌΠ΅ Π΄ΠΎ Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:β
ΠΠ΅ΡΡΠ°ΠΌΠ΅Ρ
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈ Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΡ Π° Π½ΠΈΡΠΊΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π‘ΡΠ΅Π΄ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π²Π΅Π΄Π½Π°Π³Π° ΠΏΠΎΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠΈ ΡΡΠ°ΡΡΡΡΠΈ ΠΊΡΠΌ Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Jaeger.
ΠΠ½Π΅Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ Π² Golang. Π, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΈΠΌΠ° ΠΏΡΠΈΡΠΈΠ½ΠΈ Π·Π° ΡΠΎΠ²Π°. ΠΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Golang, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ Ρ I/O ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Ρ ΡΠ΄ΡΠ°ΡΠ° ΡΠΏΠΎΡΠ΅Π΄ Π½ΡΠΆΠ΄ΠΈΡΠ΅, Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ. Π ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°, Π·Π° Π΄Π° ΡΠ΅ΡΠΈ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ°ΡΠΎΠ²Π° ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΈ Golang.
ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡ
ΠΠ°ΡΠΎΡΠΈΠ»ΠΈ ΡΠΌΠ΅ ΡΡΠΈΠ»ΠΈΡΡΠ° ΡΠΈ ΠΊΡΠΌ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π° Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΠ° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° RAM ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΠΌΠ°Π»ΠΊΠΎ.
ΠΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΈΠΌΠ°ΠΌΠ΅.
RAM
Netramesh ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ~10Mb Π±Π΅Π· ΡΡΠ°ΡΠΈΠΊ ΠΈ 50Mb ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Ρ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π΄ΠΎ 10000 XNUMX RPS Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ.
Istio envoy proxy Π²ΠΈΠ½Π°Π³ΠΈ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ~300Mb Π² Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Ρ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ. Π’ΠΎΠ²Π° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° ΠΊΡΠΌ ΡΠ΅Π»ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.
Π‘ Netramesh ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ~10 ΠΏΡΡΠΈ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
ΠΏΡΠΎΡΠ΅ΡΠΎΡ
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. ΠΠ°Π²ΠΈΡΠΈ ΠΎΡ Π±ΡΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ ΠΊΡΠΌ ΠΊΠΎΡΠ°. Π‘ΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ 3000 Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΏΡΠΈ ΠΏΠΈΠΊ:
ΠΠΌΠ° ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ Π²Π°ΠΆΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ: Netramesh - ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΈ Π±Π΅Π· Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π‘ Istio ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°Π·ΠΈ ΠΊΠ°ΡΡΠΈΠ½Π° Π±Π΅Π· Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅:
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ HTTP/1 Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅. Π£Π²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ΅Π°ΠΊΡΠΈΡ Π·Π° Istio ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΡΠ΅Π· ΠΏΡΠ°ΡΠ΅Π½ΠΈΠΊ Π±Π΅ΡΠ΅ Π΄ΠΎ 5-10 ms, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠ° Π·Π° ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π·Π° ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°. Π‘ Netramesh ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π΅ Π½Π°ΠΌΠ°Π»ΡΠ»ΠΎ Π΄ΠΎ 0.5-2ms.
ΠΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ
ΠΠ°Π»ΠΊΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Π½ΠΈ ΠΎΡ Π²ΡΡΠΊΠΎ ΠΏΡΠΎΠΊΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π΄ΠΎ Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π°. Netramesh Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΠΌΠΈΡΠ»Π΅Π½ΠΎ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π°, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΡΡΠΊΠ° ΠΊΠΎΡΠ° Π»Π΅ΠΊΠ°. Π§Π΅ΡΡΠΎ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΡΠΌ Π²ΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΠ½Π° ΠΊΠΎΠ»ΠΈΡΠΊΠ°. ΠΠ°Π΅Π΄Π½ΠΎ Ρ Π½Π΅Π³ΠΎ ΠΈΠ΄Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π½Π΅ΡΠ°, Π½ΠΎ, Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, ΡΠ°Π·Π΄ΡΠ²Π° ΠΊΠΎΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅Ρ.
ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°
Netramesh Π½Π΅ Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ. Π¦Π΅Π»ΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΡΡΠ΅Π· netra sidecar.
Netramesh ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° HTTP/1 ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΡΠΊ ΠΎΡ ΠΏΠΎΡΡΠΎΠ²Π΅. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΡΡΠ°, ΠΏΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° HTTP ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ 80, 8890, 8080. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° NETRA_HTTP_PORTS
.
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Kubernetes ΠΊΠ°ΡΠΎ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΎΠ±Π΅ΠΊΡ Π½Π° ΡΡΠ»ΡΠ³Π° Π·Π° Π²ΡΡΡΠ΅ΡΠ½ΠΎΠΊΠ»ΡΡΡΠ΅ΡΠ½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΡΠΎΠ³Π°Π²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ ΠΎΡΡΠ°Π²Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΡΡΠΈΡΡ. ΠΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π° IP Π°Π΄ΡΠ΅Ρ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° kube-dns ΠΈ ΠΎΡΠ²Π°ΡΡ Π½ΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ Π½Π΅Ρ. Π’Π°Π·ΠΈ Π²ΡΡΠ·ΠΊΠ° ΠΏΡΡΠ²ΠΎ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ netra-sidecar ΠΈ Π²ΡΠΈΡΠΊΠΈ TCP ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π°Ρ Π² netra. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° netra-sidecar ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π°ΡΠ° Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡ. NAT Π½Π° pod IP Π½Π° Π²ΡΠ·Π΅Π»Π° ΠΎΡΡΠ°Π²Π° ΡΠΎΡΠ½ΠΎ ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠΎ Π±Π΅Π· netra.
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
Netramesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ Π·Π° HTTP Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. Netra-sidecar Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° HTTP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΈΠ·ΠΌΠ΅ΡΠ²Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ HTTP Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π΄ΠΈ Π² Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Jaeger. ΠΠ° ΡΠΈΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
ΠΠΎ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΎΠΊΠ°ΡΠΎ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° uber Π·Π°Π³Π»Π°Π²ΠΊΠ°, Π½ΡΠΌΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠΈ ΡΡΠ°ΡΡΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π ΡΠΎΠ²Π° Π΅, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ, Π·Π° Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ Π±ΡΡΠ·ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅. Π ΡΡΠΊ Netramesh ΠΈΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠΊΡΠΈΡΠ°ΡΠ° ΡΠ΅ΡΠ°Ρ HTTP Π·Π°Π³Π»Π°Π²ΠΊΠΈ ΠΈ, Π°ΠΊΠΎ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ uber trace id, Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΡΠ°ΠΊΡΠ². Netramesh ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²Ρ
ΠΎΠ΄ΡΡΠΈ ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π° ΠΊΠΎΠ»Π° ΠΈ Π³ΠΈ ΡΡΠΏΠΎΡΡΠ°Π²Ρ, ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΎΠ±ΠΎΠ³Π°ΡΡΠ²Π° Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π² ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Ρ
Π΅Π΄ΡΡ 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 Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π² ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠΈ span ΡΠ°Π³ΠΎΠ²Π΅. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡ ΡΠ΅ΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΡ ΡΠ°ΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ Π±ΠΈΠ»Π° Π·Π°ΡΠ΅Π³Π½Π°ΡΠ° ΠΎΡ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ ΡΠ΅ΡΠΈΠ΅Π½ ΠΊΠ»ΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°
ΠΠ° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΎΡΠΊΡΠ΄Π΅ ΠΈΠ΄Π²Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ° Ρ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° NETRA_HTTP_X_SOURCE_HEADER_NAME
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΈΠΌΠ΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ. ΠΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° NETRA_HTTP_X_SOURCE_VALUE
ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ°, Π½Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° X-Source Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ Π΅Π΄ΡΡ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΡΡΠ»Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π² ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π΄Π° Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Netramesh
Netramesh ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΡΡΠ²ΠΈΡΡ, netra-init, Π·Π°Π΄Π°Π²Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊ. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS
.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ - Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅. ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Netramesh ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠΈ ΡΡΠ°ΡΡΡΡΠΈ, ΡΠΎΠ³Π°Π²Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ NETRA_INBOUND_PROBABILITY
ΠΈ NETRA_OUTBOUND_PROBABILITY
(ΠΎΡ 0 Π΄ΠΎ 1). Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 1 (ΡΠ΅Π»ΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ ΠΏΡΠΈΡ
Π²Π°ΡΠ°).
Π‘Π»Π΅Π΄ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½Π΅ netra sidecar ΠΏΡΠΈΠ΅ΠΌΠ° Π½ΠΎΠ²Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SO_ORIGINAL_DST
ΠΎΠΏΡΠΈΡ Π·Π° Π³Π½Π΅Π·Π΄ΠΎ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Netra ΠΎΡΠ²Π°ΡΡ Π½ΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ IP Π°Π΄ΡΠ΅Ρ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½Π° TCP ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠ»ΡΡΠ° ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΏΡΠ΅Π· Π½Π΅Π³ΠΎ. ΠΠΊΠΎ ΠΏΠΎΡΡΡΡ Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ HTTP, Netra ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈ. ΠΠΊΠΎ Π°Π½Π°Π»ΠΈΠ·ΡΡ Π½Π° HTTP Π΅ Π½Π΅ΡΡΠΏΠ΅ΡΠ΅Π½, Netra ΡΠ΅ Π²ΡΡΡΠ° ΠΊΡΠΌ TCP ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠ° Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅.
ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ
Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π² Jaeger, ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΠΏΠΎΠ»ΡΡΠ° ΠΏΡΠ»Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎ Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π΄ΠΎΡΡΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½Π° ΠΈ ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠΈ ΡΡΠ°ΡΡΡΡΠΈ ΡΠ΅ Π½Π°ΡΡΡΠΏΠ²Π°Ρ Π½Π° Π΄Π΅Π½, Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ Π½Π΅ ΡΡΠ°Π²Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° Π»Π΅ΡΠ½Π° Π·Π°Π΄Π°ΡΠ°. ΠΠΌΠ° ΠΎΡΠΈΡΠΈΠ°Π»Π΅Π½ Π½Π°ΡΠΈΠ½ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°:
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Elasticsearch Π·Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
ΠΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Netramesh
Netra ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΊΡΠΌ Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π°, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Ρ Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Netra Π½ΡΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠΎΠ»ΠΈΡΠΊΠΈ ΠΊΡΠΌ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π½ΠΎ ΠΈΠΌΠ° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅.
ΠΡΠ΄Π΅ΡΠ΅ΡΠΎ Π½Π° Netramesh
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π»
Π Π±ΡΠ΄Π΅ΡΠ΅ Netramesh ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡ ΡΠ»ΠΎΠΉ ΠΎΡΠ²Π΅Π½ HTTP. L7 ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡΠ΄Π΅ΡΠ΅.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Netramesh, Π°ΠΊΠΎ ΡΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π½ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ Ρ Π²ΡΠΏΡΠΎΡΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com