YARP Docsv2.3
文档/可扩展性/概述

概述

YARP 有两种主要的可扩展性方式,具体取决于所需的路由行为:

YARP 可扩展性概述

根据所需的路由行为,YARP 提供了两种主要的可扩展性方式:

  • 中间件管道
  • HTTP 转发器

中间件管道

YARP 使用路由、群集和目标这几个概念。它们既可以通过配置文件提供,也可以直接在代码中提供。根据路由规则,YARP 会选取一个群集并枚举其中可能的目标,然后使用中间件管道,依据目标运行状况、会话相关性、负载均衡等因素来选择目标。

预构建管道中的大部分环节都可以通过代码进行自定义:

  • 配置提供程序
  • 目标枚举
  • 会话相关性
  • 负载均衡
  • 运行状况检查
  • 请求转换
  • HttpClient 配置

您还可以更改管道定义,用自己的实现替换其中的模块,或根据需要添加其他模块。有关更多信息,请参阅"中间件"相关内容。

HTTP 转发器

如果 YARP 管道对您的使用场景而言过于死板,或者路由规则和目标的规模不适合全部加载到内存中,那么您可以实现自己的路由逻辑,并使用 HTTP 转发器将请求定向到您所选择的目标。HttpForwarder 组件会获取 HTTP 上下文,并将请求转发到指定的目标。

如果需要用到转发器,转换组件仍然可以使用。有关更多信息,请参阅"直接转发"。

说明

本文作者在 AI 协助下创作了这篇文章。了解更多信息

改编自 Microsoft Learn ,遵循 CC BY 4.0 许可协议。