Veröffentlichung von Pingora 0.2, einem Framework zur Erstellung von Netzwerkdiensten

Die Firma Cloudflare hat die zweite Version des Pingora-Frameworks veröffentlicht, das zur Entwicklung von sicheren, leistungsstarken Netzwerkdiensten in Rust dient. Der mit Pingora entwickelte Proxy wird seit etwa einem Jahr im Content Delivery Network von Cloudflare anstelle von Nginx eingesetzt und verarbeitet über 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: HTTP/3), sowie die Möglichkeit, Dienste zu erstellen, die eigene Protokolle oder UDP/TCP nutzen.
  • Die Möglichkeit der multithreaded Anfrageverarbeitung im asynchronen Modus.
  • Unterstützung für Callback-Handler und Filter, die es ermöglichen, verschiedene Phasen der Anfrageverarbeitung zu steuern sowie Anfragen und Antworten zu ändern, umzuleiten, zu blockieren und zu protokollieren.
  • 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 von TLS-Verschlüsselung (verwendet OpenSSL oder BoringSSL).
  • 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:

  • Unterstützung für die Installation von Filtern für zusätzliche HTTP/2-Header hinzugefügt.
  • Möglichkeit zur Anpassung der Größe des Eingangs-Paketpuffers für TCP hinzugefügt.
  • Die Funktion body_bytes_read() wurde hinzugefügt.
  • Der Filter cache_not_modified_filter wurde hinzugefügt.
  • Möglichkeit zur Protokollierung von TLS-Schlüsseln hinzugefügt.
  • Callback-Funktion purge_response hinzugefügt.

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