Das Unternehmen Cloudflare hat den Code von Pingora veröffentlicht, einem Tool zur Erstellung von Netzwerkdiensten

Die Firma Cloudflare hat die Veröffentlichung des Quellcodes des Pingora-Frameworks bekannt gegeben, das fĂŒr die Entwicklung von sicheren, leistungsstarken Netzwerkdiensten und programmierbaren Netzwerksystemen in der Programmiersprache Rust gedacht ist. Das Framework wurde umfassend getestet und wird bereits in stark belasteten Systemen eingesetzt — ein auf seiner Basis entwickelter Proxy wird seit ĂŒber einem Jahr im Content Delivery Network von Cloudflare anstelle von nginx verwendet und verarbeitet mehr als 40 Millionen Anfragen pro Sekunde. Der Code ist in Rust geschrieben und unter der Lizenz Apache 2.0 veröffentlicht.

Pingora kann fĂŒr die mehrfĂ€dige Verarbeitung von Anfragen im asynchronen Modus verwendet werden, unterstĂŒtzt HTTP/1 und HTTP/2 (HTTP/3 ist geplant), Proxys fĂŒr gRPC und WebSocket, anpassbare Lastverteilung, KonfigurationsĂ€nderungen ohne Neustart, Code-Updates ohne Unterbrechung der Verbindungen, die Festlegung von Lastwechselstrategien im Fehlerfall (Failover) sowie die Integration mit verschiedenen Überwachungs- und Protokollierungssystemen (Syslog, Prometheus, Sentry, OpenTelemetry). In Pingora wird auch TLS-VerschlĂŒsselung unterstĂŒtzt, die jedoch als Erweiterung ĂŒber die C-Bibliotheken OpenSSL und BoringSSL implementiert wurde.

Fertige Rust-Pakete werden bereitgestellt, um HTTP-Proxys zu erstellen, mit Netzwerkprotokollen zu arbeiten, HTTP-Header zu parsen, den Datenverkehr zu zĂ€hlen und zu begrenzen, Lastverteilung zu implementieren, mit der verteilten Hash-Tabelle Ketama zu arbeiten, Cache im Arbeitsspeicher zu verwalten und asynchrone Timeout-Behandlung durchzufĂŒhren. Neben HTTP kann auch die Erstellung von Diensten unterstĂŒtzt werden, die eigene Protokolle oder UDP/TCP verwenden.

Der SchlĂŒsselprioritĂ€t des Projekts wurde die GewĂ€hrleistung der Sicherheit zugeschrieben — um die Wahrscheinlichkeit von Fehlern im Zusammenhang mit der Arbeitsspeicher zu minimieren, wurde die Programmiersprache Rust ausgewĂ€hlt. Besondere Aufmerksamkeit wurde auch der Effizienz, Leistung und Skalierbarkeit gewidmet. Beispielsweise ist bei der Erstellung von Proxys-Server und Lastverteilern auf Basis von Pingora die Möglichkeit vorgesehen, Callback-Handler und Filter anzuhĂ€ngen, die es ermöglichen, verschiedene Phasen der Anfrageverarbeitung zu steuern sowie Anfragen und Antworten zu Ă€ndern, umzuleiten, zu blockieren und zu protokollieren.

In Zusammenarbeit mit der ISRG (Internet Security Research Group), die das Projekt Let’s Encrypt ins Leben gerufen hat und zur Entwicklung von Technologien zur Verbesserung der Sicherheit im Internet beitrĂ€gt, wird auf Basis von Pingora der Reverse-Proxy River entwickelt, der fĂŒr den Einsatz in kritischen Komponenten ausgelegt ist. der Netzwerkinfrastruktur. Der Code von River wird in Rust geschrieben und unter der Lizenz Apache 2.0 veröffentlicht. Die Entwicklung beginnt im zweiten Quartal 2024. Derzeit befindet sich das Projekt in der Entwurfs- und Architekturphase. Das Projekt wird unter der Leitung von James Munns aus der Rust Embedded Working Group entwickelt.

Das Hauptziel des Projekts River ist die Implementierung eines Proxys, der in der Lage ist, Anfragen von Clients an Backend-Server weiterzuleiten, eingehende TLS-Verbindungen zu terminieren sowie Anfragen gemĂ€ĂŸ festgelegten Regeln zu routen, zu Ă€ndern und zu filtern. Zu den Eigenschaften von River gehört ein mehrfĂ€diges Modell zur Verarbeitung von Anfragen, das eine effizientere Wiederverwendung von Verbindungen im Vergleich zu Proxys wie Nginx ermöglicht. Um die FunktionalitĂ€t des Proxys zu erweitern und Filter zu erstellen, wird die UnterstĂŒtzung fĂŒr Module, die im WebAssembly-Format kompiliert sind, bereitgestellt (fĂŒr die Entwicklung können beliebige Programmiersprachen verwendet werden, die eine Kompilierung in WASM unterstĂŒtzen). Das Konfigurationsformat soll so einfach und gewohnt wie möglich gestaltet werden.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster