ИзданиС Π½Π° HTTP/TCP-балансировщика HAProxy 2.0

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ Ρ€Π΅Π»ΠΈΠ· Π½Π° балансировчика Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ HAProxy 2.0, позволяващ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° HTTP Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ TCP заявки ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠ° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ мноТСство Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, провСрява наличността Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, оцСнява Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° срСдства Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу DDoS Π°Ρ‚Π°ΠΊΠΈ) ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡŠΡ€Π²ΠΈΡ‡Π½Π° филтрация Π½Π° Π΄Π°Π½Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° HTTP заглавия, Π΄Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° заявката, Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π° SQL ΠΈΠ½ΠΆΠ΅ΠΊΡ†ΠΈΠΈ ΠΈ XSS, Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π° Π°Π³Π΅Π½Ρ‚ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ). HAProxy ΡΡŠΡ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° взаимодСйствиСто Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π² систСми, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° микросСрвизи. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° C ΠΈ сС прСдоставя Π΅ ΠΏΠΎΠ΄ лицСнзия GPLv2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ сайтовС, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter ΠΈ Vimeo.

ΠšΠ»ΡŽΡ‡ΠΎΠ²ΠΈ характСристики Π½Π° вСрсията:

  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² API Data Plan, позволяващ Π½Π° Π»Π΅Ρ‚Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° настройкитС Π½Π° HAProxy Ρ‡Ρ€Π΅Π· REST Web API. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ възмоТно Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ добавянС ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, създаванС Π½Π° ACL, промяна Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡΡ‚Π° Π½Π° заявкитС, промяна Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅ IP;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° nbthread, позволяваща настройка Π½Π° броя Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² HAProxy Π·Π° оптимизация Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° многоядрСни CPU. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ броят Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ сС ΠΈΠ·Π±ΠΈΡ€Π° Π² зависимост ΠΎΡ‚ Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ядра CPU Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° срСда, Π° Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ срСди ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ сС Π·Π°Π΄Π°Π²Π° Π΅Π΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ. Π—Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° строги Π»ΠΈΠΌΠΈΡ‚ΠΈ са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ MAX_THREADS ΠΈ MAX_PROCS, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Ρ‚ Π³ΠΎΡ€Π½Π°Ρ‚Π° Π³Ρ€Π°Π½ΠΈΡ†Π° Π·Π° броя Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ ΠΈ процСситС;
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° bind Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ към ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ адрСси. ΠŸΡ€ΠΈ настройката Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ опрСдСлянСто Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° процСса β€” ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ Ρ‰Π΅ сС разпрСдСлят ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π² зависимост ΠΎΡ‚ броя Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π΅ настройванСто Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ стартиранС Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ β€” Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ сСга ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ насочСни към stdout ΠΈ stderr, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ към всСки ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Ρ„Π°ΠΉΠ»ΠΎΠ² дСскриптор (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "log fd@1 local0");
  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° HTX (Native HTTP Representation), ΠΊΠΎΠ΅Ρ‚ΠΎ осигурява балансировка ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ end-to-end HTTP/2, Layer 7 Retries ΠΈ gRPC. HTX Π½Π΅ замСня заглавията Π½Π° място, Π° свСТда опСрацията Π½Π° модификация Π΄ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ ΠΈ добавянС Π½Π° Π½ΠΎΠ²ΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π² края Π½Π° списъка, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ с всякакви Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° сСмантика Π½Π° заглавията ΠΈ позволявайки постиганС Π½Π° ΠΏΠΎ-висока производитСлност ΠΏΡ€ΠΈ транслация Π½Π° HTTP/2 Π² HTTP/1.1 ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° End-to-End HTTP/2 (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° всички Π΅Ρ‚Π°ΠΏΠΈ Π² HTTP/2, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ запитвания към Π±Π΅ΠΊΠ΅Π½Π΄, Π° Π½Π΅ само взаимодСйствиС Π½Π° прокси с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°);
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° двупосочно проксиранС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° gRPC с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈΡ‚Π΅ gRPC, отдСляйки ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, отразявайки Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° gRPC Π² Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΠΉΠΊΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ACL. gRPC позволява ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° микросСрвизи Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ взаимодСйстват ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си Ρ‡Ρ€Π΅Π· унивСрсалСн API. ΠœΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ взаимодСйствиС Π² gRPC Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π½Π°Π΄ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP/2 ΠΈ сС основава Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Protocol Buffers Π·Π° сСриализация Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° "Layer 7 Retries", позволяваща ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ HTTP-запитвания Π² случай Π½Π° софтуСрни сривовС, Π½Π΅ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ установяванСто Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ липса Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π·Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° POST-Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅). Π—Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π² опцията "http-request" Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Ρ„Π»Π°Π³ "disable-l7-retry", Π° Π·Π° Ρ„ΠΈΠ½Π° настройка Π² сСкции defaults, listen ΠΈ backend Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опция "retry-on". На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ са слСднитС ΠΏΡ€ΠΈΠ·Π½Π°Ρ†ΠΈ Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅: all-retryable-errors, none, conn-failure, empty-response, junk-response, response-timeout, 0rtt-rejected, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към Π²Ρ€ΡŠΡ‰Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ (404 ΠΈ Π΄Ρ€.);
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ Π½ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° процСси (Process Manager), позволяващ настройка Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° външни изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π·Π° HAProxy.
    НапримСр, Π² ролята Π½Π° Ρ‚Π°ΠΊΡŠΠ² външСн ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ API Data Plan ( /usr/sbin/dataplaneapi), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Offload-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈΡ‚Π΅;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π° SPOE (Stream Processing Offload Engine) ΠΈ SPOP (Stream Processing Offload Protocol) Π·Π° .NET Core, Go, Lua ΠΈ Python. По-Ρ€Π°Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ бСшС само Π½Π° C;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ външСн ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ spoa-mirror (\/usr\/sbin\/spoa-mirror) Π·Π° Π·Π΅Ρ€ΠΊΠ°Π»Π΅Π½Π΅ Π½Π° заявки към ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° част ΠΎΡ‚ работния Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π·Π° тСстванС Π½Π° СкспСримСнтална срСда с Ρ€Π΅Π°Π»Π½ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅);
  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ HAProxy Kubernetes Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π·Π° осигуряванС Π½Π° интСграция с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Kubernetes;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° СкспортиранС Π½Π° статистика Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠ²Π° систСма Prometheus;
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŠΡ‚ Peers Protocol, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° информация с Π΄Ρ€ΡƒΠ³ΠΈ възли с HAProxy. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Heartbeat ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ;
  • Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° β€žlogβ€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ β€žsampleβ€œ, позволяващ записванС Π² Π»ΠΎΠ³ само Π½Π° част ΠΎΡ‚ заявкитС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 1 ΠΎΡ‚ 10, Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΈΠ·Π²Π°Π΄ΠΊΠ°;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ (Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° profiling.tasks, която ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° стойности auto, on ΠΈ off). Автоматичното ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°, Π°ΠΊΠΎ срСдната стойност Π½Π° забавянСто надвиши 1000 мс. Π—Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π² Runtime API Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° β€žshow profilingβ€œ ΠΈΠ»ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° статистиката Π² Π»ΠΎΠ³;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SOCKS4;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΡ€Π°ΠΉΠ½Π° (end-to-end, ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° заявката, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°) ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π±ΡŠΡ€Π·ΠΎ отварянС Π½Π° TCP съСдинСния (TFO β€” TCP Fast Open, RFC 7413), ΠΊΠΎΠΉΡ‚ΠΎ позволява намаляванС Π½Π° ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ Π·Π° установяванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΎΡ‚ класичСския 3-стСпСнСн процСс ΠΏΠΎ установяванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΈ позволява ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° ранния Π΅Ρ‚Π°ΠΏ ΠΎΡ‚ установяванСто Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ дСйствия:
    • β€žhttp-request replace-uriβ€œ Π·Π° замяна Π½Π° URL с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ;
    • β€žtcp-request content do-resolveβ€œ ΠΈ β€žhttp-request do-resolveβ€œ Π·Π° Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° хоста;
    • β€žtcp-request content set-dstβ€œ ΠΈ β€žtcp-request content set-dst-portβ€œ Π·Π° замяна Π½Π° цСлСвия IP адрСс ΠΈ ΠΏΠΎΡ€Ρ‚.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅:
    • aes_gcm_dev Π·Π° Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ AES128-GCM, AES192-GCM ΠΈ AES256-GCM;
    • protobuf Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΎΡ‚ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Protocol Buffers;
    • ungrpc Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΎΡ‚ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ gRPC.

    Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster