我有一个多租户应用程序,在每个请求中,租户的 ID 在 HTTP 标头中发送。
我想实现一个简单的金丝雀部署,我将选择租户 ID 的子集,为实验版本创建一个部署槽,并将所选租户的所有 HTTP 请求路由到新槽。
也就是说,我需要一种方法来检查每个请求,并根据 HTTP 标头的值选择应该为请求提供服务的插槽。
有没有办法通过 Azure 应用服务实现这一目标?
我有一个多租户应用程序,在每个请求中,租户的 ID 在 HTTP 标头中发送。
我想实现一个简单的金丝雀部署,我将选择租户 ID 的子集,为实验版本创建一个部署槽,并将所选租户的所有 HTTP 请求路由到新槽。
也就是说,我需要一种方法来检查每个请求,并根据 HTTP 标头的值选择应该为请求提供服务的插槽。
有没有办法通过 Azure 应用服务实现这一目标?
你需要一个反向代理,可以使用 Azure Functions 中的代理功能来实现。
https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies
但是,实现它的最佳方式是使用 API 管理。由于它相当昂贵,您可以使用消费计划,这将为您节省很多钱。
https://docs.microsoft.com/en-us/azure/architecture/microservices/design/gateway