这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

Learning YARP

YARP学习笔记

1 - YARP介绍

YARP介绍和资料整理

1.1 - YARP介绍

YARP是什么?

官方文档的介绍

https://microsoft.github.io/reverse-proxy/

YARP = Yet Another Reverse Proxy

YARP 是一个可帮助创建高性能、生产就绪和高度可定制的反向代理服务器的类库。

为什么选择 YARP

我们发现微软有许多内部团队正在为他们的服务构建反向代理,或者一直在询问构建反向代理的 API 和技术,因此我们决定将他们召集在一起,共同开发一个解决方案,即这个项目。这些项目中的每一个都在做一些稍微偏门的事情,这意味着现有的代理服务并不能很好地满足他们的需求,而且定制这些代理服务的成本很高,还需要考虑持续维护的问题。

许多现有的代理服务器都是为支持 HTTP/1.1 而构建的,但随着工作负载的变化,包括 gRPC 流量,它们需要 HTTP/2 支持,这就需要更复杂的实现。通过使用 YARP,项目可以自定义路由和处理行为,而无需实施 HTTP 协议。

使用 YARP

YARP 基于.NET,使用 ASP.NET 和 .NET(.NET 6 及更新版本)的基础架构。YARP 的关键区别在于,它可以通过 .NET 代码轻松定制和调整,以满足每个部署场景的特定需求。

最终,我们希望 YARP 能够以类库、项目模板和单个 exe 文件的形式发布,从而为构建稳健、高性能的代理服务器提供多种选择。其管道和模块的设计使您可以根据自己的需要定制功能。例如,虽然 YARP 支持配置文件,但我们预计许多用户会希望根据自己的配置管理系统以编程方式管理配置。YARP 提供了一个配置 API,以实现程序内的定制。

YARP 在设计时将可定制性作为主要应用场景,而不是要求您编写脚本或从源代码中重建库。

github项目首页的介绍

https://github.com/microsoft/reverse-proxy

YARP 是 “Yet Another Reverse Proxy”(又一个反向代理)的缩写,是一个创建反向代理服务器的项目。我们发现微软有很多内部团队正在为他们的服务构建反向代理,或者一直在询问构建反向代理的 API 和技术,因此我们决定将他们召集起来,共同研究一个解决方案,这就是这个项目。

YARP 是一个反向代理工具包,用于使用 ASP.NET 和 .NET 的基础架构在 .NET 中构建快速代理服务器。YARP 的关键与众不同之处在于,它可以轻松定制和调整,以满足每个部署场景的特定需求。

我们希望 YARP 以库和项目模板的形式发布,共同提供一个强大、高性能的代理服务器。其管道和模块的设计使您可以根据自己的需要定制功能。例如,虽然 YARP 支持配置文件,但我们预计许多用户会希望根据自己的后台配置管理系统以编程方式管理配置,因此 YARP 将提供一个配置 API,以便在项目中进行定制。YARP 在设计时将可定制性作为主要应用场景,而不是要求您使用脚本或从源代码重建。