我有一个Azure应用服务,使用应用服务计划的“扩展”选项创建了5个实例。现在我不确定Azure是如何在这些实例之间负载均衡请求的?我没有看到任何负载均衡器。
此外,我如何知道哪个实例正在处理哪个请求?
我有一个Azure应用服务,使用应用服务计划的“扩展”选项创建了5个实例。现在我不确定Azure是如何在这些实例之间负载均衡请求的?我没有看到任何负载均衡器。
此外,我如何知道哪个实例正在处理哪个请求?
负载均衡器是自动创建的,您看不到它。
基本上,它会随机发送请求到实例,但可以使用ARR Affinity使其“粘性”。 您可以在应用服务的应用程序设置中找到此设置:
如果打开了该选项,则负载均衡器会在响应中附加一个cookie(如果响应没有该cookie)。 这样未来的请求就会命中同一个实例。 当然,如果该实例不存在(例如由于自动缩放),则请求将再次发送到随机实例。
WEBSITE_INSTANCE_ID
环境变量可以告诉您后端正在处理请求的实例。
您可以在此处找到可用变量列表:https://github.com/projectkudu/kudu/wiki/Azure-runtime-environment
echo %WEBSITE_INSTANCE_ID%
:) - juunas