我的Web应用程序部署在具有多个示例(横向扩展)的Azure App Service上。它具有用于生成报表的API。我希望对此API的请求仅转到特定示例。
所以我在考虑写一个Javascript代码来修改ARR Affinity cookie的值,然后再向API发送请求,这样请求就可以转到指定的示例ID。
我在2017年发现了一个SO帖子,其中有一个设置Cookie的示例代码。
How to get access to azure app service instances directly
但我也发现另一个如此职位与某人说,我们不应该干涉这个cookie的价值。
Azures Arr Affinity response cookie
我还问了ChatGPT,它告诉我修改cookie是有效的。
但是它给我的所有资源URL都过期了,返回404。
现在我找不到任何Azure文档提到手动修改此Cookie的可能性。
所以问题是我是否可以/应该在我的应用程序前端或后端编写代码来修改ARR Affinity Cookie?
1条答案
按热度按时间eqzww0vc1#
更改
ARRAffinity
Cookie不是最可靠的解决方案,因为Azure平台不保证应用服务示例及其ID始终保持不变。在平台升级期间或Azure检测到某个示例不正常时,可能会重新启动甚至替换个别示例。在这种情况下,你的API请求可能会在任何示例上结束,并且很难选择新的“自动报告”示例。这里有一些选项,可以帮助实现你想要的,而不干扰
ARRAffinity
Cookie:Per-App Scaling
的功能。并将应用程序服务的numberOfWorkers
属性更改为所需的示例数。例如,报表API应用程序服务可以限制为一个示例,而主应用程序可以扩展为3个示例。有关详细信息,请参阅按应用程序扩展文档。