概述
YARP 有两种主要的可扩展性方式,具体取决于所需的路由行为:
YARP 可扩展性概述
根据所需的路由行为,YARP 提供了两种主要的可扩展性方式:
- 中间件管道
- HTTP 转发器
中间件管道
YARP 使用路由、群集和目标这几个概念。它们既可以通过配置文件提供,也可以直接在代码中提供。根据路由规则,YARP 会选取一个群集并枚举其中可能的目标,然后使用中间件管道,依据目标运行状况、会话相关性、负载均衡等因素来选择目标。
预构建管道中的大部分环节都可以通过代码进行自定义:
- 配置提供程序
- 目标枚举
- 会话相关性
- 负载均衡
- 运行状况检查
- 请求转换
- HttpClient 配置
您还可以更改管道定义,用自己的实现替换其中的模块,或根据需要添加其他模块。有关更多信息,请参阅"中间件"相关内容。
HTTP 转发器
如果 YARP 管道对您的使用场景而言过于死板,或者路由规则和目标的规模不适合全部加载到内存中,那么您可以实现自己的路由逻辑,并使用 HTTP 转发器将请求定向到您所选择的目标。HttpForwarder 组件会获取 HTTP 上下文,并将请求转发到指定的目标。
如果需要用到转发器,转换组件仍然可以使用。有关更多信息,请参阅"直接转发"。
说明
本文作者在 AI 协助下创作了这篇文章。了解更多信息
改编自 Microsoft Learn ,遵循 CC BY 4.0 许可协议。