Azure · Web App

Escalado horizontal de Azure Web App y ARR Affinity

En Azure Web App Scale Options publicación, se les introdujo cómo Escalar hacia Arriba y Escalar hacia Fuera su Aplicación Web, pero ¿qué sucede después de la finalización del escalado?

En resumen, añadirá – o eliminará – una copia de su aplicación y replicará N veces, dependiendo de cuántas instancias haya elegido

¿Y cómo se accederá a las otras instancias?

Cuando Escala Fuera su aplicación, se agrega un Load Balancer delante de su Azure Web App que distribuirá el tráfico entre las múltiples instancias que tiene su sitio web.

Single App Service

En una configuración básica, y utilizando un Single App Service, el visitante intentará acceder a su sitio web y golpeará directamente el App Service

single azure app service blog vinicius deschamps

Escalar fuera App Service

Como se puede ver, una vez que escalas fuera, un Load Balancer gestionará el tráfico cuando un visitante acceda a su sitio web y distribuirá el tráfico a una de las instancias de su Azure App Service

scale out azure app service blog vinicius deschamps
scale out azure app service blog vinicius deschamps

¿Mi usuario saltará de instancia en instancia?

No, a menos que su Azure App Service haya cambiado de la configuración por defecto que es ARR Affinity habilitada.

Puede revisar esta opción haciendo clic en Configuration (1), y General settings (2), y buscar ARR Affinity (3)

azure app service configuration general settings arr affinity on blog vinicius deschamps

ARR Affinity

ARR Affinity asigna una cookie al usuario que garantiza que se usará la misma instancia hasta que la sesión expire.

¿Hay una forma de verificar la cookie ARR Affinity?

Sí, de hecho hay varias formas

F12 (en cualquier navegador)

Primero, presione F12 en su navegador, luego haga clic en Network

f12 click network blog vinicius deschamps

Ahora, acceda a su sitio web, notarás que se cargan y se rellenan cosas en la ventana F12, haga clic en cualquier elemento bajo Name (1), haga clic en Cookies (2) y busque ARRAffinity

f12 click website click cookies check arr affinity blog vinicius deschamps

Chrome

Acceda a su sitio web y haga clic en el Lock ítem en la barra de direcciones (1), luego haga clic en Cookies (2)

chrome check arr affinity click lock address bar click cookies blog vinicius deschamps

En el diálogo Cookies in use, expanda your website (1), Cookies (2), luego busque y haga clic en ARRAffinity (3), y verifique su campo Content

Importante: Tenga en cuenta que el campo Content no muestra el valor completo debido al tamaño del diálogo; es posible que necesite hacer clic y presionar CTRL+A para seleccionar el valor completo y pegarlo en otro lugar

chrome check arr affinity expand website address expand cookies click arraffinity check content blog vinicius deschamps

¿Cómo aprovechar al máximo la Cookie ARRAffinity?

Con la Cookie ARR Affinity, el proceso de solución de problemas será más fácil y permitirá aislar el problema

Identificar la instancia a la que está conectado su usuario

Primero, vaya a su App Service, desplace hacia abajo y busque Advanced Tools (1), luego haga clic en Go (2)

azure app service development tools advanced tools go blog vinicius deschamps

Advanced Tools se abrirá en una ventana nueva, y se verá como la imagen de abajo; dado que ha escalado su entorno, verá Instance: 4 caracteres y una flecha hacia abajo, haga clic en ella. Como puede ver, muestra todas las instancias de su App Service, en mi caso 2.

Importante: estos 4 caracteres provienen de la cookie ARR Affinity, así que puede usar los primeros caracteres para identificar la instancia y elegir correctamente.

azure kudu toolbar blog vinicius deschamps

Elijo la primera instancia en el menú desplegable, y hago clic en Environment para ver toda la información sobre esa instancia en particular. Tenga en cuenta el área resaltada bajo System info donde dice Machine name y Instance id

Importante: Tenga en cuenta que Instance id y la cookie ARR Affinity tienen el mismo valor

azure kudu environment information instance 1 blog vinicius deschamps
azure kudu environment information instance 2 blog vinicius deschamps

Reiniciar una sola instancia

A pesar de ser una copia del App Service, a veces una instancia en particular tiene problemas y reiniciarla podría ser una solución. Después de determinar el Machine name de la instancia, puede reiniciar una sola instancia siguiendo los pasos a continuación

En su App Service, haga clic en Diagnose and solve problems (1), en el campo Search escriba restart (2), luego haga clic en Advanced Application Restart (3)

azure app service diagnose and solve problems blog vinicius deschamps

En Advanced Application restart, por favor seleccione la instancia que desea reiniciar (1) y presione Restart (2)

azure app service diagnose and solve problems advanced application restart blog vinicius deschamps

Y eso es todo

Espero que les haya gustado, y nos vemos en mi próxima publicación.

ARR AffinityAzureAzure Web AppsScale OutWeb App
Escalado horizontal de Azure Web App y ARR Affinity — Vinicius Deschamps