Heute ein kurzer Infosplitter für Bastler unter der Blog-Leserschaft. Mit YARP (steht für Yet Another Reverse Proxy) steht ein kostenloses Framework bereit, um einen Reverse Proxy zu generieren. Das Framework wurde von Microsoft-Teams bereitgestellt.
Anzeige
Was ist ein Reverse Proxy?
Ein Reverse-Proxy ist laut Wikipedia ein Proxy in einem Rechnernetz, der Ressourcen für einen externen Client von einem oder mehreren internen Servern holt. Die Umsetzung der Adresse ist atypisch und der Richtung des Aufrufes entgegengesetzt (deutsch „umgekehrter Proxy"). Die wahre Adresse des internen Zielsystems bleibt dem externen Client verborgen. Das unterscheidet ihn vom typischen (Forward-)Proxy, der mehreren Clients eines internen (in sich abgeschlossenen) Netzes den Zugriff auf ein externes Netz gewährt.
YARP: Yet Another Reverse Proxy
Ich bin auf Twitter über nachfolgenden Tweet auf das betreffende Projekt aufmerksam geworden. YARP steht für Yet Another Reverse Proxy und ist ein Toolkit für die Entwicklung leistungsstarker HTTP-Reverse-Proxy-Anwendungen.
Die Geburt von YARP ist einer Initiative von Microsoft-Mitarbeitern zu verdanken. Es gab bei Microsoft eine Reihe interner Teams, die entweder einen Reverse-Proxy für ihren Dienst entwickelten oder sich nach APIs und Technologien für die Entwicklung eines solchen Proxys erkundigt hatten. Daher beschloss man, diese Teams zusammenzubringen, um an einer gemeinsamen Lösung zu arbeiten. Das Ganze mündete im Projekt YARP.
Anzeige
Bei der Analyse der bisherigen Projekte wurde klar, dass jedes dieser Projekte etwas abseits der ausgetretenen Pfade arbeitete. Für manche Teams reichten die vorhandenen Proxys nicht, und die Anpassung dieser Proxys war mit hohen Kosten und laufenden Wartungsüberlegungen verbunden. Viele der vorhandenen Proxys wurden für die Unterstützung von HTTP/1.1 entwickelt. Da sich die Arbeitslasten jedoch dahingehend ändern, dass diese auch gRPC-Verkehr umfassen, benötigen die Reverse-Proxies HTTP/2-Unterstützung, was eine wesentlich komplexere Implementierung erfordert.
Durch den Einsatz von YARP können die Projekte das Routing- und Verarbeitungsverhalten anpassen, ohne das HTTP-Protokoll implementieren zu müssen, heißt es in der Vorstellung von YARP auf dieser Seite. YARP baut auf .NET auf und nutzt die Infrastruktur von ASP.NET und .NET (.NET Core 3.1, .NET 5 und .NET 6). Das Hauptunterscheidungsmerkmal von YARP ist, dass es so konzipiert wurde, dass es leicht angepasst und über .NET-Code optimiert werden kann, um die spezifischen Anforderungen jedes Einsatzszenarios zu erfüllen. Eine Getting Started-Anleitung für YARP findet sich auf dieser Seite. Ein Basis-Beispiel ist auf dieser Github-Seite abrufbar
Anzeige