Veröffentlichung von Pingora 0.6, einem Framework zur Erstellung von Netzwerkdiensten.

Das Unternehmen Cloudflare hat die Version 0.6 des Pingora-Frameworks veröffentlicht, das für die Entwicklung sicherer, leistungsstarker Netzwerkdienste in der Programmiersprache Rust konzipiert ist. Proxys, die mit Pingora erstellt wurden, werden seit über zwei Jahren im Content Delivery Network von Cloudflare anstelle von Nginx eingesetzt und verarbeiten mehr als 40 Millionen Anfragen pro Sekunde. Der Code ist in Rust geschrieben und unter der Apache 2.0-Lizenz veröffentlicht.

Die Hauptfunktionen von Pingora:

  • Unterstützung von HTTP/1 und HTTP/2 (geplant ist HTTP/3) sowie die Möglichkeit, Dienste zu erstellen, die eigene Protokolle oder UDP/TCP verwenden.
  • Unterstützung der mehrsträngigen Verarbeitung von Anfragen im asynchronen Modus.
  • Die Möglichkeit, Callback-Handler und Filter anzuhängen, die verschiedene Phasen der Anfrageverarbeitung steuern sowie Anfragen und Antworten ändern, umleiten, blockieren und protokollieren können.
  • Proxying von gRPC und WebSocket.
  • Erweiterbare Lastenausgleicher.
  • Die Möglichkeit, Konfigurationen ohne Neustart zu ändern.
  • Unterstützung der Aktualisierung des Anwendungscodes ohne Unterbrechung von Verbindungen.
  • Mittel zur Lastumschaltung im Falle eines Ausfalls (Failover).
  • Integration mit verschiedenen Überwachungs- und Protokollierungssystemen (Syslog, Prometheus, Sentry, OpenTelemetry).
  • Unterstützung der TLS-Verschlüsselung (verwendet OpenSSL, BoringSSL oder Rustls).
  • Fertige Rust-Pakete zur Erstellung von HTTP-Proxys, zum Arbeiten mit Netzwerkprotokollen, zur Analyse von HTTP-Headern, zur Überwachung und Begrenzung des Verkehrs, zur Lastverteilung, zur Verwendung von verteilten Hash-Tabellen (Ketama), zur Speicherung von Caches im Arbeitsspeicher und zur asynchronen Bearbeitung von Timeouts.

Zu den Änderungen in der neuen Version gehören:

  • Während des Shutdowns wird das Protokoll der Namen der Runtime-Komponenten gespeichert, um die Diagnose von Problemen zu erleichtern, die durch fehlende Runtime-Komponenten verursacht werden und zu Verzögerungen während des Shutdowns führen.
  • Die Verfolgung von Ausführungsphasen wurde hinzugefügt Server, deren Informationen für die Überwachung oder zur Gewährleistung der Fehlertoleranz nützlich sein können. Bei einem Phasenwechsel wird eine Nachricht "ExecutionPhase" generiert, die über die API Server::watch_execution_phase abgefangen werden kann.
  • Die Platzierung von komprimierten Wörterbüchern im Speicher ist erlaubt.
  • In der Implementierung des HTTP-Servers und des HTTP-Proxys wurden die Direktiven HttpServerOptions und H2Options hinzugefügt.
  • Der Schutz gegen den Angriff "MadeYouReset" wurde implementiert, der einen Denial-of-Service-Angriff durch Manipulation von Steuer-Frames in HTTP/2 ermöglicht.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster