【问题标题】:Azure Front Door Url RewriteAzure 前门 URL 重写
【发布时间】:2021-07-29 20:54:58
【问题描述】:

假设我们有一个基于 Azure FnApps 的微服务列表 - 用户服务、搜索服务、产品服务等...... 每个服务都是全局部署的。 例如:

user-service-uk.azurewebsites.net
user-service-west-us.azurewebsites.net
search-service-south-east-asia.azurewebsites.net
search-service-uk.azurewebsites.net
search-service-east-us.azurewebsites.net
..... ETC

我们有一个 APIM 接口,其中包含所有 api 操作并执行 AuthZ 和 AuthN。所以这不能被删除或替换。

myapis.azure-apis.net/user
myapis.azure-apis.net/search
myapis.azure-apis.net/product

在这种情况下进行地理交通管理的最佳方法是什么。

我们当前的方法是使用 APIM 策略。

<choose>
            <when condition="@("West US".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                <set-backend-service base-url="http://user-service-west-us.azurewebsites.net/" />
            </when>
            <when condition="@("South East Asia".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                <set-backend-service base-url="http://user-service-south-east-asia.azurewebsites.net/" />
            </when>
            <otherwise>
                <set-backend-service base-url="https://user-service-west-us.azurewebsites.net" />
            </otherwise>
        </choose>

但随着更多微服务的增长以及我们的应用进入更多地区,我们正面临着政策维护的噩梦。

我们探索了 Azure Front Door,但 URL 重写不允许我们携带匹配模式的后缀。

例如: 对于网址,https:myapi.azure-afd.net/user 当 url 与 /user/* Custom Rewrite/* 匹配时,有没有办法设置 Routing-Tab 的 URLRewrite(表示除 /user 之外的整个 url-suffix)

PS:

我们想到的另一种方法是为每个微服务创建一个 Azure 流量管理器配置文件 例如:

https://user-service.trafficmanager.net
https://search-service.trafficmanager.net
https://product-service.trafficmanager.net

但是,随着 100 多个新微服务的出现,我们最终会遇到大量 ATM 配置文件。

【问题讨论】:

  • 回复有用吗?

标签: azure-traffic-manager azure-front-door


【解决方案1】:

据我所知,要处理地理流量管理,您可以使用带有geographic traffic-routing method 的 Azure 流量管理器。您可以选择根据每个端点的特定地理位置分配流量。不能在两个端点中指定相同的位置。

在这种情况下,您需要创建三个流量管理器配置文件和多个端点来区分客户端的区域。流量管理器使用 DNS 查询的源 IP 地址来确定用户查询的区域。

https://user-service.trafficmanager.net ---> endpoints 
{user-service-uk.azurewebsites.net, user-service-west-us.azurewebsites.net,...}

https://search-service.trafficmanager.net ---> endpoints 
{search-service-south-east-asia.azurewebsites.net, search-service-uk.azurewebsites.net,...}

https://product-service.trafficmanager.net ---> endpoints
{product-service-south-east-asia.azurewebsites.net,...}

【讨论】:

    猜你喜欢
    • 2022-11-04
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多