0

我正在尝试在同一个 API 管理上平衡 2 个 API 端点,以实现金丝雀发布 trought FrontDoor。第一个端点(比如说www.contoso.com/api1)代表旧的应用程序版本,第二个端点( www.contoso.com/api2 )代表新的。这样,我计划在前门创建一个后端池,以按比例平衡 90% 的请求到第一个端点,10% 到第二个端点。

我知道做到这一点的最佳方法是使用 2 个 API 管理服务(例如平衡具有不同部署的服务器),但是否可以仅使用一个?

提前谢谢

4

2 回答 2

0

经过一番研究,我发现 FrontDoor 只允许配置名称为 FQDN 的主机的后端池。我也用 TrafficManager 进行了测试,但我得到了几乎相同的结果。两者都按权重进行流量平衡。

我发现平衡到 URL 端点的流量的唯一方法是通过“应用程序网关”,但没有平衡功能。

于 2020-07-29T20:01:54.753 回答
0

使用选择设置后端服务策略的组合:

<choose>
  <when condition="@(new Random().Next(10) < 9)">
    <set-backend-service baseUrl="https://www.contoso.com/api1" />
  </when>
  <otherwise>
    <set-backend-service baseUrl="https://www.contoso.com/api2" />
  </otherwise>
</choose>
于 2020-07-29T22:36:39.013 回答