Vydanie Pingora 0.6, frameworku na vytváranie sieťových služieb.

Spoločnosť Cloudflare zverejnila verziu frameworku Pingora 0.6, určeného na vývoj zabezpečených a vysoce výkonných sieťových služieb v jazyku Rust. Proxy postavené pomocou Pingora sa už viac ako dva roky používajú v sieti dodávky obsahu Cloudflare namiesto nginx a spracovávajú viac ako 40 miliónov požiadaviek za sekundu. Kód je napísaný v jazyku Rust a zverejnený pod licenciou Apache 2.0.

Hlavné funkcie Pingora:

  • Podpora HTTP/1 a HTTP/2 (v plánoch HTTP/3), ako aj možnosť vytvárania služieb, ktoré používajú vlastné protokoly alebo UDP/TCP.
  • Podpora viacvláknového spracovania požiadaviek v asynchrónnom režime.
  • Možnosť pripojiť callback spracovateľov a filtre, ktoré umožňujú spravovať rôzne fázy spracovania požiadavky, ako aj meniť, presmerovávať, blokovať a zaznamenávať požiadavky a odpovede.
  • Proxy gRPC a WebSocket.
  • Pripojiteľné balancery záťaže.
  • Možnosť zmeny konfigurácie bez reštartovania.
  • Podpora aktualizácie kódu aplikácie bez prerušenia spojení.
  • Prostriedky na prepnutie záťaže v prípade zlyhania (failover).
  • Integrácia s rôznymi systémami monitorovania a logovania (Syslog, Prometheus, Sentry, OpenTelemetry).
  • Podpora TLS šifrovania (používa sa OpenSSL, BoringSSL alebo Rustls).
  • Hotové Rust balíky na vytvorenie HTTP proxy, prácu so sieťovými protokolmi, analýzu HTTP hlavičiek, sledovanie a obmedzovanie prevádzky, rozdeľovanie záťaže, prácu s rozdelenou hašovacou tabuľkou Ketama, udržiavanie cache v pamäti a asynchrónne spracovanie timeoutov.

Medzi zmenami v novej verzii:

  • Počas ukončenia práce sa zabezpečuje uloženie do logu názvov runtime komponentov pre jednoduchšiu diagnostiku problémov, ktoré sú spôsobené absenciou runtime komponentov a vedú k oneskoreniam počas ukončenia práce.
  • Zahŕňa sledovanie fáz vykonávania servera, informácie o ktorých môžu byť užitočné pre monitorovanie alebo zabezpečenie odolnosti. Pri zmene fázy vykonávania sa generuje správa ExecutionPhase, ktorú je možné zachytiť cez API Server::watch_execution_phase.
  • Povolené umiestnenie v pamäti komprimovaných slovníkov.
  • V implementácii http servera a http proxy boli pridané direktívy HttpServerOptions a H2Options.
  • Realizovaná ochrana pred útokom MadeYouReset, ktorý umožňuje vyvolať odmietnutie služby prostredníctvom manipulácie s riadiacimi rámcami HTTP/2.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster