HTTP/TCP рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ HAProxy 2.0 рдХреЛ рд░рд┐рд▓реАрдЬ

рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд░рд┐рд▓реАрдЬ HA рдкреНрд░реЛрдХреНрд╕реА реи.реж, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ HTTP рдЯреНрд░рд╛рдлрд┐рдХ рд░ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рд╕рдореВрд╣ рдмреАрдЪ рдордирдорд╛рдиреА TCP рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдзреЗрд░реИ рдХрд╛рд░рдХрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓реЗ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ, рд▓реЛрдб рд╕реНрддрд░рдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрджрдЫ, DDoS рдХрд╛рдЙрдиреНрдЯрд░рдореЗрдЬрд░рд╣рд░реВ рдЫрдиреН) рд░ рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛ рдлрд┐рд▓реНрдЯрд░рд┐рдЩ ( рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ HTTP рд╣реЗрдбрд░рд╣рд░реВ рдкрд╛рд░реНрд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдлрд┐рд▓реНрдЯрд░ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рдЧрд▓рдд рдХреНрд╡реЗрд░реА рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ, рдмреНрд▓рдХ SQL рд░ XSS рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╢реЛрдзрди рдПрдЬреЗрдиреНрдЯрд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реН)ред HAProxy рдкрдирд┐ рд╕рдХреНрдЫ рдирд┐рд╡реЗрджрди рдЧрд░реНрдиреБ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╕рдордиреНрд╡рдп рдЧрд░реНрдиред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб C рд░ рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдпреЛ GPLv2 рдЕрдиреНрддрд░реНрдЧрдд рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдкреНрд░рд╛рдкреНрддред рдкрд░рд┐рдпреЛрдЬрдирд╛ Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter рд░ Vimeo рд╕рд╣рд┐рдд рдзреЗрд░реИ рдареВрд▓рд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдореБрдЦреНрдп рд░рд┐рд▓реАрдЬ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ:

  • рдирдпрд╛рдБ API рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдпреЛ рдбрд╛рдЯрд╛ рдпреЛрдЬрдирд╛, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ REST Web API рдорд╛рд░реНрдлрдд рдЙрдбрд╛рдирдорд╛ HAProxy рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╕рд╣рд┐рдд, рддрдкрд╛рдЗрдБ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдмреНрдпрд╛рдХрдПрдиреНрдбрд╣рд░реВ рд░ рд╕рд░реНрднрд░рд╣рд░реВ рдердкреНрди рд░ рд╣рдЯрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, ACLs рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЕрдиреБрд░реЛрдз рд░рд╛рдЙрдЯрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ IP рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ;
  • nbthread рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдмрд╣реБ-рдХреЛрд░ CPU рд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди HAProxy рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдереНрд░реЗрдбрд╣рд░реВрдХреЛ рд╕рдЩреНрдЦреНрдпрд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рд╡рд░реНрддрдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЙрдкрд▓рдмреНрдз CPU рдХреЛрд░рд╣рд░реВрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдереНрд░реЗрдбрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЪрдпрди рдЧрд░рд┐рдиреНрдЫ, рд░ рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдПрдЙрдЯрд╛ рдереНрд░реЗрдб рд╣реЛред рдХрдбрд╛ рд╕реАрдорд╛рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди, рдереНрд░реЗрдб рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдорд╛рдерд┐рд▓реНрд▓реЛ рд╕реАрдорд╛ рд╕реАрдорд┐рдд рдЧрд░реНрджреИ, рдЕрд╕реЗрдВрдмрд▓реА рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ MAX_THREADS рд░ MAX_PROCS рдердкрд┐рдПрдХрд╛ рдЫрдиреН;
  • рд╕рдЮреНрдЬрд╛рд▓ рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдорд╛ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдмрд╛рдЗрдиреНрдбрд┐рдЩрдХрд╛ рд▓рд╛рдЧрд┐ рдмрд╛рдБрдз рдирд┐рд░реНрджреЗрд╢рдирдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕реЗрдЯрдЕрдк рдЧрд░реНрджрд╛, рдЕрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди - рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рд╕рдХреНрд░рд┐рдп рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рдХреЛ рдЖрдзрд╛рд░рдорд╛ рдереНрд░реЗрдбрд╣рд░реВ рдмреАрдЪ рдЬрдбрд╛рдирд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░рд┐рдиреЗрдЫред
  • рдкреГрдердХ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдЪрд▓реНрджрд╛ рд▓рдЧрд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд▓рд╛рдИ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ - рд▓рдЧ рдЕрдм stdout рд░ stderr рдорд╛ рдкрдард╛рдЙрди рд╕рдХрд┐рдиреНрдЫ, рд╕рд╛рдереИ рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд┐рдд рдлрд╛рдЗрд▓ рд╡рд░реНрдгрдирдХрд░реНрддрд╛рдорд╛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "log fd@1 local0");
  • HTX (рдиреЗрдЯрд┐рдн HTTP рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡) рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЬрд╕реНрддреИ рдЕрдиреНрддреНрдп-рджреЗрдЦрд┐-рдЕрдиреНрдд HTTP/2, рд▓реЗрдпрд░ 7 рдкреБрди: рдкреНрд░рдпрд╛рд╕ рд░ gRPC рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╕рдиреНрддреБрд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред HTX рд▓реЗ рд╣реЗрдбрд░рд╣рд░реВ рдард╛рдЙрдБрдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрджреИрди, рддрд░ рд╕реВрдЪреАрдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рдирдпрд╛рдБ рд╣реЗрдбрд░ рд╣рдЯрд╛рдЙрди рд░ рдердкреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдХрд╛рд░реНрдпрд▓рд╛рдИ рдШрдЯрд╛рдЙрдБрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ HTTP рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рдХреБрдиреИ рдкрдирд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рднреЗрд░рд┐рдпрдиреНрдЯрд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд╣реЗрдбрд░рд╣рд░реВрдХреЛ рдореМрд▓рд┐рдХ рд╢рдмреНрджрд╛рд░реНрде рд╕рдВрд░рдХреНрд╖рдг рдЧрд░реНрджреИ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред HTTP/2 рдорд╛ HTTP/1.1 рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрджрд╛ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд░ рдпрд╕рдХреЛ рд╡рд┐рдкрд░реАрдд;
  • End-to-End HTTP/2 рдореЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ (HTTP/2 рдорд╛ рд╕рдмреИ рдЪрд░рдгрд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрди, рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рдХрд▓рд╣рд░реВ рд╕рд╣рд┐рдд, рд░ рдкреНрд░реЛрдХреНрд╕реА рд░ рдЧреНрд░рд╛рд╣рдХ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди);
  • gRPC рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рджреНрд╡рд┐рджрд┐рд╢рд╛рддреНрдордХ рдкреНрд░реЛрдХреНрд╕реАрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд╕рдорд░реНрдерди gRPC рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдиреНрджреЗрд╢рд╣рд░реВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░реНрдиреЗ, рд▓рдЧрдорд╛ gRPC рдЯреНрд░рд╛рдлрд┐рдХ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рдЧрд░реНрдиреЗ рд░ ACLs рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдХреЛ рд╕рд╛рде рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред gRPC рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕рд╣рд░реВрдХреЛ рдХрд╛рдо рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬреБрди рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ API рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдПрдХрдЕрд░реНрдХрд╛рд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрдЫред gRPC рдорд╛ рд╕рдЮреНрдЬрд╛рд▓ рд╕рдВрдЪрд╛рд░ HTTP/2 рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдбрд╛рдЯрд╛ рдХреНрд░рдорд┐рдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрдЯреЛрдХрд▓ рдмрдлрд░рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред
  • "рд▓реЗрдпрд░ 7 рдкреБрди: рдкреНрд░рдпрд╛рд╕" рдореЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдлрд▓рддрд╛рдХреЛ рдШрдЯрдирд╛рдорд╛ рдмрд╛рд░рдореНрдмрд╛рд░ HTTP рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬреБрди рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫреИрди (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╛ рдЦрд╛рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЫреИрди рднрдиреЗред POST рдЕрдиреБрд░реЛрдз)ред рдореЛрдб рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, "рдЕрд╕рдХреНрд╖рдо-l7-рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕" рдлреНрд▓реНрдпрд╛рдЧ "http-рдЕрдиреБрд░реЛрдз" рд╡рд┐рдХрд▓реНрдкрдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рд░ "рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕-рдЕрди" рд╡рд┐рдХрд▓реНрдкрд▓рд╛рдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд, рд╕реБрдиреНрдиреЗ рд░ рдмреНрдпрд╛рдХрдЗрдиреНрдб рд╕реЗрдХреНрд╕рдирд╣рд░реВрдорд╛ рдлрд╛рдЗрди-рдЯреНрдпреБрдирд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдердкрд┐рдПрдХреЛ рдЫред рдкреБрди: рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдореНрди рд╕рдВрдХреЗрддрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЫрдиреН: рд╕рдмреИ-рдкреБрди: рдкреНрд░рдпрд╛рд╕-рддреНрд░реБрдЯрд┐рд╣рд░реВ, рдХреБрдиреИ рдкрдирд┐ рд╣реЛрдЗрди, conn-рдЕрд╕рдлрд▓рддрд╛, рдЦрд╛рд▓реА-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдЬрдВрдХ-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЯрд╛рдЗрдордЖрдЙрдЯ, 0rtt-рдЕрд╕реНрд╡реАрдХреГрдд, рд╕рд╛рдереИ рд╕реНрдерд┐рддрд┐ рдХреЛрдбрд╣рд░реВ рдлрд░реНрдХрд╛рдЙрди рдмрд╛рдзреНрдпрдХрд╛рд░реА (404, рдЖрджрд┐)ред ;
  • рдирдпрд╛рдБ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдиреНрдзрдХ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ HAProxy рдХрд╛ рд▓рд╛рдЧрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрд╕рдБрдЧ рдмрд╛рд╣реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
    рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбрд╛рдЯрд╛ рдкреНрд▓рд╛рди API (/usr/sbin/dataplaneapi), рд╕рд╛рдереИ рд╡рд┐рднрд┐рдиреНрди рдЕрдлрд▓реЛрдб рд╕реНрдЯреНрд░рд┐рдо рдкреНрд░рд╢реЛрдзрди рдЗрдиреНрдЬрд┐рдирд╣рд░реВ, рдпрд╕реНрддреЛ рдмрд╛рд╣реНрдп рд╣реНрдпрд╛рдиреНрдбрд▓рд░рдХреЛ рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреНрдЫ;

  • SPOE (рд╕реНрдЯреНрд░рд┐рдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рдЕрдлрд▓реЛрдб рдЗрдиреНрдЬрд┐рди) рд░ SPOP (рд╕реНрдЯреНрд░рд┐рдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рдЕрдлрд▓реЛрдб рдкреНрд░реЛрдЯреЛрдХрд▓) рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ .NET Core, Go, Lua рд░ Python рдХрд╛ рд▓рд╛рдЧрд┐ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ рдердкрд┐рдПрдХрд╛ рдЫрдиреНред рдкрд╣рд┐рд▓реЗ, рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдХрд╛рд╕ рдХреЗрд╡рд▓ C рдорд╛ рд╕рдорд░реНрдерд┐рдд рдерд┐рдпреЛ;
  • рдЫреБрдЯреНрдЯреИ рд╕рд░реНрднрд░рдорд╛ рдорд┐рд░рд░рд┐рдЩ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рд╣реНрдп рд╕реНрдкреЛрдЖ-рдорд┐рд░рд░ рд╣реНрдпрд╛рдиреНрдбрд▓рд░ (/usr/sbin/spoa-mirror) рдердкрд┐рдпреЛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЛрдб рдЕрдиреНрддрд░реНрдЧрдд рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрддреНрдкрд╛рджрди рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рдЕрдВрд╢ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди);
  • рдкрд░рд┐рдЪрдп рдЧрд░рд╛рдП HAProxy Kubernetes рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдиреНрддреНрд░рдХ Kubernetes рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╕рдВрдЧ рдПрдХреАрдХрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди;
  • рдЕрдиреБрдЧрдорди рдкреНрд░рдгрд╛рд▓реАрдорд╛ рддрдереНрдпрд╛рдЩреНрдХ рдирд┐рд░реНрдпрд╛рдд рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдорд┐рдд рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ Prometheus;
  • HAProxy рдЪрд▓рд╛рдЙрдиреЗ рдЕрдиреНрдп рдиреЛрдбрд╣рд░реВрд╕рдБрдЧ рдЬрд╛рдирдХрд╛рд░реА рдЖрджрд╛рдирдкреНрд░рджрд╛рди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗ Peers Protocol, рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╣рд╛рд░реНрдЯрдмрд┐рдЯ рд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбрд╛рдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рдердк рд╕рдорд░реНрдерди рд╕рд╣рд┐рдд;
  • "рд▓рдЧ" рдирд┐рд░реНрджреЗрд╢рдирдорд╛ "рдирдореВрдирд╛" рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдердкрд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдПрдХ рдЕрдВрд╢ рдорд╛рддреНрд░ рд▓рдЧрдорд╛ рдбрдореНрдк рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ 1 рдордзреНрдпреЗ 10, рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдирдореВрдирд╛ рдмрдирд╛рдЙрди;
  • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рдореЛрдб рдердкрд┐рдпреЛ (profiling.tasks рдирд┐рд░реНрджреЗрд╢рди, рдЬрд╕рд▓реЗ рдорд╛рди рд╕реНрд╡рдд:, рдЕрди рд░ рдЕрдл) рд▓рд┐рди рд╕рдХреНрдЫред рдпрджрд┐ рдФрд╕рдд рд╡рд┐рд▓рдореНрдмрддрд╛ 1000 ms рднрдиреНрджрд╛ рдмрдвреА рдЫ рднрдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рд╕рдХреНрд╖рдо рдЫред рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рдбреЗрдЯрд╛ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, "рдкреНрд░реЛрдлрд╛рдЗрд▓ рджреЗрдЦрд╛рдЙрдиреБрд╣реЛрд╕реН" рдЖрджреЗрд╢ Runtime API рдорд╛ рдердкрд┐рдПрдХреЛ рдЫ рд╡рд╛ рд▓рдЧрдорд╛ рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ;
  • SOCKS4 рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреНрдпрд╛рдХрдЗрдиреНрдб рд╕рд░реНрднрд░рд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
  • TCP рдЬрдбрд╛рдирд╣рд░реВ (TFO - TCP рдлрд╛рд╕реНрдЯ рдУрдкрди, RFC 7413) рдЪрд╛рдБрдбреИ рдЦреЛрд▓реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреНрдд-рджреЗрдЦрд┐-рдЕрдиреНрдд рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд╣рд┐рд▓реЛрд▓рд╛рдИ рдПрдЙрдЯрд╛ рдЕрдиреБрд░реЛрдзрдорд╛ рд░ рджреЛрд╕реНрд░реЛ рдЪрд░рдгрдХреЛ рд╕рдВрдпреЛрдЬрди рдЧрд░реЗрд░ рдЬрдбрд╛рди рд╕реЗрдЯрдЕрдк рдЪрд░рдгрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдХреНрд▓рд╛рд╕рд┐рдХ 3-рдЪрд░рдг рдЬрдбрд╛рди рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░ рдЬрдбрд╛рди рд╕реНрдерд╛рдкрдирд╛рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЪрд░рдгрдорд╛ рдбрд╛рдЯрд╛ рдкрдард╛рдЙрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫ;
  • рдирдпрд╛рдБ рдХрд╛рд░реНрдпрд╣рд░реВ рдердкрд┐рдпреЛ:
    • "http-request replace-uri" рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ URL рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди;
    • рд╣реЛрд╕реНрдЯрдирд╛рдо рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ "tcp-рдЕрдиреБрд░реЛрдз рд╕рд╛рдордЧреНрд░реА do-resolve" рд░ "http-request do-resolve";
    • рд▓рдХреНрд╖реНрдп IP рдареЗрдЧрд╛рдирд╛ рд░ рдкреЛрд░реНрдЯ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди "tcp-рдЕрдиреБрд░реЛрдз рд╕рд╛рдордЧреНрд░реА рд╕реЗрдЯ-dst" рд░ "tcp-рдЕрдиреБрд░реЛрдз рд╕рд╛рдордЧреНрд░реА рд╕реЗрдЯ-dst-рдкреЛрд░реНрдЯ"ред
  • рдирдпрд╛рдБ рд░реВрдкрд╛рдиреНрддрд░рдг рдореЛрдбреНрдпреБрд▓ рдердкрд┐рдпреЛ:
    • AES128-GCM, AES192-GCM рд░ AES256-GCM рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ aes_gcm_dev;
    • рдкреНрд░реЛрдЯреЛрдХрд▓ рдмрдлрд░ рд╕рдиреНрджреЗрд╢рд╣рд░реВрдмрд╛рдЯ рдлрд┐рд▓реНрдбрд╣рд░реВ рдирд┐рдХрд╛рд▓реНрди protobuf;
    • ungrpc gRPC рд╕рдиреНрджреЗрд╢рд╣рд░реВрдмрд╛рдЯ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рдирд┐рдХрд╛рд▓реНрдиред

    рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди