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

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

¿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)

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

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

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)

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

¿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)

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.

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


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)

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

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