Vydání Pingora 0.6, rámce pro vytváření síťových služeb

Cloudflare zveřejnilo vydání rámce Pingora 0.6, určeného pro vývoj bezpečných, vysoce výkonných síťových služeb v jazyce Rust. Proxy vytvořený pomocí Pingora se používá v síti pro doručování obsahu Cloudflare namísto Nginx již více než dva roky a zpracovává více než 40 milionů požadavků za sekundu. Kód je napsán v Rustu a publikován pod licencí Apache 2.0.

Klíčové vlastnosti Pingora:

  • Podpora HTTP/1 a HTTP/2 (HTTP/3 v plánech), stejně jako možnost vytvářet služby pomocí vlastních protokolů nebo UDP/TCP.
  • Podpora vícevláknového zpracování požadavků v asynchronním režimu.
  • Schopnost připojit obslužné nástroje a filtry zpětných volání, které vám umožní spravovat různé fáze zpracování požadavků a také upravovat, přesměrovávat, blokovat a protokolovat požadavky a odpovědi.
  • Proxy gRPC a WebSocket.
  • Připojitelné zátěžové balancéry.
  • Možnost změny konfigurace bez restartování.
  • Podpora aktualizace kódu aplikace bez přerušení připojení.
  • Prostředky pro spínání zátěže v případě poruchy (failover).
  • Integrace s různými monitorovacími a logovacími systémy (Syslog, Prometheus, Sentry, OpenTelemetry).
  • Podpora šifrování TLS (pomocí OpenSSL, BoringSSL nebo Rustls).
  • Hotové Rust balíčky pro tvorbu HTTP proxy, práci se síťovými protokoly, parsování HTTP hlaviček, účtování a omezování provozu, vyvažování zátěže, práci s distribuovanou hashovací tabulkou Ketama, udržování cache v RAM a asynchronní zpracování timeoutů.

Mezi změny v nové verzi:

  • Během vypínání se nyní názvy běhových komponent ukládají do protokolu, což pomáhá diagnostikovat problémy způsobené chybějícími běhovými komponentami, které způsobují zpoždění při vypínání.
  • Sledování fáze provádění povoleno server, informace o kterých mohou být užitečné pro monitorování nebo zajištění odolnosti proti chybám. Při změně fáze provádění se vygeneruje zpráva ExecutionPhase, kterou lze zachytit pomocí API Server::watch_execution_phase.
  • Povoleno ukládat komprimované slovníky do paměti.
  • Do implementace http serveru a http proxy byly přidány direktivy HttpServerOptions a H2Options.
  • Implementována ochrana proti útoku MadeYouReset, který umožňuje odmítnutí služby manipulací s řídicími rámci HTTP/2.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster