YARP反向代理开发工具包
YARP 全称 "Yet Another Reverse Proxy" ,是微软开发的一款用于开发高性能 HTTP 反向代理应用程序的工具包。
YARP 基于 .NET 构建,使用 ASP.NET 和 .NET(.NET Core 3.1、.NET 5 和 .NET 6)中的基础结构,特性在于易于定制和调整,以满足每个部署场景的特定需求。
配置:
YARP 配置定义了路由和目的地,可以通过以下方式提供:
- 静态配置文件,带有动态更新的文件更改检测
- 与其他来源接口的编程配置可扩展性
- 对于超大规模的主机,路由可以完全动态,由应用程序代码决定,并由 YARP 按每个请求处理
路由 & 入站连接
- YARP 可以基于 SNI/Host 对多个站点和路由进行前台处理
- 路由可以基于请求 URL 和 header values 。
- 主动和被动健康检查,以确认目的地可用性,并过滤掉不良条目
- 如果有需要,会话绑定会将后续请求路由到同一目的地。
- 多目标负载均衡算法
- 特定路由的认证、授权和CORS
代理和出站连接
- 传入请求 Url 可以在传递到目的地之前进行转换
- 请求和响应头可以被转换
- 可以转换 Http 方法(例如 POST 到 PUT)
- 目的地的出站 http 连接可配置
- 代理添加了与请求转发相关的标准标头
- gRPC和网络套接字流量,包括流媒体
表现
代理的性能取决于许多因素:
- 客户端用于代理的 http 版本
- 到目的地的代理使用的 http 版本
- 是否使用 TLS 加密
- 请求/响应标头和内容有效负载的大小
评论