Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Important
Esta característica se encuentra en su versión beta. Para solicitar acceso, póngase en contacto con su representante de Azure Databricks. Una vez habilitada la característica, los administradores del área de trabajo pueden controlar el acceso a ella desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.
En esta página se describe cómo ejecutar una aplicación de Databricks en varias instancias detrás de una única dirección URL de aplicación para una mayor disponibilidad y simultaneidad.
El escalado horizontal distribuye las solicitudes entre instancias, por lo que un único error de instancia o reinicio no desconectará la aplicación. El costo de proceso se escala linealmente con el número de instancias.
Entre las ventajas adicionales se incluyen:
- Afinidad de sesión: cada solicitud del mismo usuario enruta a la misma instancia de la mejor manera posible, por lo que una aplicación puede mantener los datos de corta duración por usuario (por ejemplo, una caché en memoria) en esa instancia. También conocidas como sesiones persistentes. Consulte Afinidad de sesión.
- Implementaciones sin interrupciones: Azure Databricks despliega primero una nueva implementación en una instancia de compilación y solo actualiza las instancias restantes después de que esa instancia de compilación se complete correctamente. Las instancias existentes siguen atendiendo el tráfico en todo momento.
- Cachés de compilación inestables: Azure Databricks conserva los artefactos de implementación en las actualizaciones de proceso (por ejemplo, cuando se cambia el tamaño o el recuento de instancias), por lo que la aplicación no requiere una recompilación completa.
Requisitos
Los siguientes requisitos se aplican a todas las aplicaciones escaladas horizontalmente:
- Durante el período beta, la aplicación debe escuchar
0.0.0.0(no127.0.0.1olocalhost).
Creación de una aplicación escalada horizontalmente
Para crear una aplicación con el escalado horizontal habilitado:
- En el área de trabajo de Azure Databricks, haga clic en el icono
app switcher y seleccione Databricks Apps.
- Haga clic en + Crear aplicación y, a continuación, haga clic en Crear una aplicación personalizada.
- Escriba un nombre y configure la aplicación como se describe en Creación de una aplicación de Databricks personalizada.
- En el paso Configurar , seleccione Habilitar escalado horizontal.
- Especifique el número de instancias (1–5). Azure Databricks recomienda al menos 2 instancias para garantizar la disponibilidad.
- Haga clic en Crear aplicación.
La habilitación del escalado horizontal para una aplicación no afecta a ninguna otra aplicación del área de trabajo.
Las aplicaciones de escalado horizontal recién creadas no incluyen las bibliotecas de Python preinstaladas. Declare todas las dependencias en requirements.txt o pyproject.toml. Consulte Administración de dependencias para una aplicación de Databricks.
Conversión de una aplicación estándar para usar el escalado horizontal
Convierta una aplicación estándar existente en una aplicación escalada horizontalmente desde la pestaña Configuración . La conversión no presenta tiempo de inactividad. La aplicación estándar existente sigue sirviendo tráfico hasta que la nueva implementación a escala horizontal supera las comprobaciones de estado, en cuyo momento Azure Databricks reduce el tráfico.
La conversión es reversible. Puede convertir una aplicación a escala horizontal en una aplicación estándar desde la misma pestaña Configuración .
Comportamiento de conversión
El comportamiento siguiente se aplica en el momento de la conversión:
- El recuento de instancias se establece en 1. Después de la conversión, puede cambiar el recuento (hasta 5). Consulte Administración del recuento de instancias.
- La aplicación convertida sigue usando las bibliotecas de Python preinstaladas para que las dependencias existentes sigan funcionando. Para ejecutarse sobre una imagen base del sistema operativo limpia en su lugar, dese de baja después de la conversión. Consulte Cómo excluir las bibliotecas de Python preinstaladas para las aplicaciones de Databricks.
Prueba de la conversión
La conversión cambia la imagen en tiempo de ejecución y el modelo de escalado de la aplicación. Antes de convertir una aplicación de producción, valide el cambio en un duplicado:
- Cree un duplicado de la aplicación estándar que desea convertir.
- Convierta el duplicado mediante los pasos siguientes.
- Compruebe que la aplicación funciona según lo previsto en el duplicado convertido. Compruebe los registros, el tráfico y cualquier comportamiento relacionado con la afinidad de sesión.
- Convierta la aplicación de producción después de la validación.
Conversión de una aplicación estándar
Para convertir una aplicación estándar a escala horizontal:
- En el área de trabajo de Azure Databricks, haga clic en el icono
app switcher y seleccione Databricks Apps.
- Haga clic en el nombre de la aplicación que desea convertir.
- Haga clic en la pestaña Configuración .
- En Proceso, seleccione Habilitar escalado horizontal. Azure Databricks establece el recuento de instancias en 1, que es necesario en el momento de la conversión.
- Haz clic en Guardar.
Azure Databricks pone en marcha un nuevo proceso escalado horizontalmente y, a continuación, vuelve a implementar la aplicación en ella. El tiempo total depende de la duración de compilación de la aplicación. La aplicación existente sigue atendiendo el tráfico a lo largo de todo el mundo.
Una vez finalizada la conversión, puede escalar verticalmente o rechazar las bibliotecas preinstaladas.
Administración del recuento de instancias
Para cambiar el número de instancias de una aplicación escalada horizontalmente:
- En la página de detalles de la aplicación, haga clic en Editar.
- En el paso Configurar , actualice el número de instancias.
- Haz clic en Guardar.
La aplicación sigue atendiendo el tráfico mientras Azure Databricks aplica el cambio.
Afinidad de sesión
La afinidad de sesión enruta todas las solicitudes del mismo usuario a la misma instancia siempre que sea posible. Una aplicación puede usar este enrutamiento para mantener los datos de corta duración por usuario (por ejemplo, una caché en memoria o archivos temporales en el sistema de archivos local) en la instancia que controla la sesión del usuario. La afinidad de sesión también se conoce como sesiones persistentes.
La afinidad de sesión es el mejor esfuerzo. No almacene nada en el estado local de la instancia que no pueda reconstruir ni recuperar de un almacenamiento duradero. Guarde todos los datos que deban perdurar más allá de una sesión en un almacenamiento duradero, como las tablas de Unity Catalog.
También puede conservar los datos con Lakebase.
Aplicaciones basadas en explorador
La afinidad de sesión funciona automáticamente en las aplicaciones basadas en navegador. La primera solicitud de un explorador se enruta a una instancia seleccionada aleatoriamente, que establece la __Host-databricks-app-router cookie. Las solicitudes posteriores con esa cookie se dirigen a la misma instancia.
Clientes de API
Para obtener la afinidad de sesión para los clientes de API, incluya la __Host-databricks-app-router cookie en cada solicitud y establézcala en un UUID generado aleatoriamente. Todas las solicitudes con el mismo valor de cookie enrutan a la misma instancia.
curl -X GET https://<your-app>.aws.databricksapps.com/api/endpoint \
-H "Authorization: Bearer YOUR_BEARER_TOKEN" \
-b "__Host-databricks-app-router=f8822466-3b1e-423a-988b-54c9e639c250"
Reasignación de sesión
Las sesiones pueden pasar a una instancia diferente en los casos siguientes:
- Una instancia deja de estar disponible (por ejemplo, durante la implementación o un bloqueo).
- Cambie el número de instancias.
- Azure Databricks reequilibra las sesiones entre las instancias.
- Una solicitud individual se enruta incorrectamente (rara vez).
Limitaciones
Las siguientes limitaciones se aplican a las aplicaciones escaladas horizontalmente:
- Cada área de trabajo puede tener como máximo 5 aplicaciones a escala horizontal. Póngase en contacto con su representante de Azure Databricks para aumentar este límite.
- Cada aplicación escalada horizontalmente puede tener como máximo 5 instancias. Póngase en contacto con su representante de Azure Databricks para aumentar este límite.
- En la pestaña Registros se muestran los registros de una sola instancia a la vez. Para ver los registros en todas las instancias, habilite la telemetría de la aplicación.