具有不同路由前缀的后端之间的 Azure 流量平衡

问题描述 投票:0回答:1

我们正在将托管基础设施从使用子域来区分不同微服务的系统迁移到使用路由前缀的系统。例如,我们的微服务的“根”可能会在旧基础设施上受到这样的攻击:

https://my-service.legacyhosting.com/

在新的基础设施上就像这样:

https://api.modernhosting.com/my-service

我们希望在 Azure 中在这两者之前设置一些东西,可以将一定比例的流量路由到新托管,并将剩余流量路由到旧托管。

换句话说,我们希望能够慢慢地将流量迁移到新的基础设施上。但由于这两者之间的路由前缀不同,我们遇到了问题。

                                  /--- 25% ---> https://my-service.legacyhosting.com/*
https://some.thing.in.azure/* ---|
                                  \--- 75% ---> https://api.modernhosting.com/my-service/*

我的第一个想法是使用前门,但这不起作用(经典或高级),因为同一池(旧版)或源组(高级)中的两个后端不能有不同的路由前缀。

我的下一个想法是使用流量管理器,但它也有同样的限制。

接下来我将开始研究 Azure 负载均衡器和应用程序网关,但我想看看是否有人以前解决过这个问题或有任何建议。这似乎是一个常见的场景,有一个简单的解决方案,但在广泛的谷歌搜索后我似乎找不到任何东西。

azure load-balancing azure-application-gateway azure-load-balancer
1个回答
0
投票

我们最终在 Premium FrontDoor 中使用了多个端点,本质上就像两扇前门。

我们使用

/
路线和
https://api.modernhosting.com/my-service/*
路线创建了第一个端点作为唯一的后端。这使我们基本上可以将这个新端点主机(没有路由前缀)“映射”到我们想要的带有路由前缀的后端。

然后,我们创建了第二个端点,其中包含第一个端点和

https://my-service.legacyhosting.com/*
的原始组,从而允许我们在两者之间引导流量。

我觉得这个设置有点恶心,但它完成了工作。由于这是我们的临时安排,我愿意接受。尽管如此,很高兴看到 Azure 提供一些可以更优雅地处理此用例的东西。

© www.soinside.com 2019 - 2024. All rights reserved.