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