[German]Today a short info splitter for tinkerers among the blog readership. With YARP (stands for Yet Another Reverse Proxy) a free framework is available to generate a reverse proxy. The framework has been provided by Microsoft teams.
What is a reverse proxy?
According to Wikipedia a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the reverse proxy server itself. It is mainly used to balance load. The true address of the internal target system remains hidden from the external client. This distinguishes it from the typical (forward) proxy, which allows multiple clients of an internal (self-contained) network to access an external network.
YARP: Yet Another Reverse Proxy
I became aware of the project in question on Twitter via the following tweet. YARP stands for Yet Another Reverse Proxy and is a toolkit for developing powerful HTTP reverse proxy applications.
The birth of YARP is due to an initiative of Microsoft employees. There were a number of internal teams at Microsoft that were either developing a reverse proxy for their service or had inquired about APIs and technologies for developing such a proxy. So they decided to bring these teams together to work on a common solution. The whole thing resulted in the YARP project.
When analyzing the previous projects, it became clear that each of them was working somewhat off the beaten path. For some teams, the existing proxies were not sufficient, and customizing those proxies involved high costs and ongoing maintenance considerations. Many of the existing proxies were designed to support HTTP/1.1. However, as workloads change to include gRPC traffic, reverse proxies require HTTP/2 support, which requires a much more complex implementation.
By using YARP, projects can customize routing and processing behavior without having to implement the HTTP protocol, according to the introduction of YARP on this page. YARP is built on top of .NET and leverages the infrastructure of ASP.NET and .NET (.NET Core 3.1, .NET 5 and .NET 6). The key differentiator of YARP is that it is designed to be easily customized and optimized via .NET code to meet the specific requirements of each deployment scenario. A Getting Started guide for YARP can be found on this page. A basic example is available on this Github page.
Cookies helps to fund this blog: Cookie settings