Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
El término "flujo de trabajo" suele tener varios significados. En el contexto de Durable Functions, es posible que vea flujos de trabajo denominados orquestaciones. Para evitar confusiones con las orquestaciones de contenedores, en este artículo se usa el término flujos de trabajo en su lugar.
Los flujos de trabajo son operaciones de varios pasos que suelen producirse en un orden específico o implican tareas de larga duración. Entre los escenarios reales que requieren flujos de trabajo se incluyen:
- Procesamiento de pedidos
- Orquestación de agentes de inteligencia artificial
- Administración de infraestructura
- Canalizaciones de procesamiento de datos
Los eventos como los errores temporales de infraestructura o las interrupciones en la dependencia pueden interrumpir la ejecución del flujo de trabajo. Para evitar interrupciones, puede usar la ejecución duradera, que continúa desde el punto de error en lugar de reiniciarse.
Ejecución duradera
La ejecución duradera proporciona un enfoque tolerante a fallos para la ejecución de código y gestiona los fallos de manera efectiva a través de reintentos automáticos y la persistencia del estado. La ejecución duradera se basa en tres principios básicos:
- Ejecución incremental: Cada operación se ejecuta de forma independiente y en orden.
- Persistencia de estado: La salida de cada paso se guarda para asegurarse de que el progreso no se pierde.
- Tolerancia a errores: Si se produce un error en un paso, la operación se reintenta desde el último paso correcto, omitiendo los pasos completados anteriormente.
La ejecución duradera beneficia a los escenarios que requieren el encadenamiento de operaciones con estado. Simplifica la implementación de patrones de aplicación complejos, de larga duración, con estado y tolerantes a errores.
Puede lograr una ejecución duradera en los flujos de trabajo de Azure Container Apps mediante uno de los marcos de flujo de trabajo administrados por Azure.
Marcos de flujo de trabajo para desarrolladores en Azure
Azure proporciona dos marcos de flujo de trabajo orientados a código que puede usar para compilar aplicaciones que se ejecutan en Azure Container Apps:
- SDK de Durable Task (versión preliminar)
- Durable Functions
Los SDK de Durable Task y los marcos de flujo de trabajo de Durable Functions están diseñados para desarrolladores y están disponibles en varios lenguajes de programación.
SDK de Durable Task (versión preliminar)
Los SDK de Durable Task son SDK de cliente ligeros que proporcionan un modelo de programación neutro para crear flujos de trabajo. A diferencia de Durable Functions, que está estrechamente acoplado con el proceso de Functions, estos SDK portátiles se desacoplan de cualquier proceso. Permiten que la aplicación se conecte a un motor de flujo de trabajo hospedado en Azure denominado Durable Task Scheduler.
Para garantizar la ejecución duradera, los SDK de Durable Task requieren un back-end de almacenamiento para conservar el estado del flujo de trabajo a medida que se ejecuta la aplicación. El back-end del Programador de Tareas Duraderas realiza comprobaciones continuas del estado del flujo de trabajo a medida que la aplicación se ejecuta y gestiona automáticamente los reintentos para asegurar una ejecución confiable. El programador es responsable de:
- Programa y administra la ejecución de tareas de flujo de trabajo.
- Almacena y mantiene el estado del flujo de trabajo.
- Controla la persistencia, los errores y los reintentos.
- El equilibrio de carga gestiona la ejecución de la orquestación a escala en la aplicación contenedora.
Inicio rápido
Pruebe a configurar los SDK de Tareas duraderas para la aplicación de contenedor mediante los siguientes inicios rápidos.
Inicio rápido | Descripción |
---|---|
Configuración de un SDK de Durable Task en la aplicación | Aprenda a crear flujos de trabajo que usen el patrón de aplicación fan-out/fan-in de Durable Functions. Actualmente está disponible con los SDK de .NET, Python y Java Durable Task. |
Configuración de un SDK de Durable Task en la aplicación contenedora | Use la CLI para desarrolladores de Azure para crear recursos de Durable Task Scheduler e implementarlos en Azure con dos aplicaciones de contenedor que ejecutan tareas de flujo de trabajo. Actualmente está disponible con los SDK de .NET, Python y Java Durable Task. |
Funciones duraderas
Como característica de Azure Functions, Durable Functions hereda muchas de sus características como una oferta de marco de flujo de trabajo orientado a código en Azure. Por ejemplo, con Durable Functions, se beneficia de:
- Integraciones con otros servicios de Azure mediante desencadenadores y enlaces de Azure Functions
- Experiencia de desarrollo local
- Modelo de precios sin servidor
Nota:
Durable Functions con el Programador de tareas duraderas actualmente solo se ejecuta en las SKU de App Service y Elastic Premium. Hasta que esté disponible en otros SKU (como Consumo flexible), debe usar el back-end de Microsoft SQL para la persistencia de estado al hospedar una aplicación de Durable Functions en Azure Container Apps.
Cómo elegir
Las aplicaciones creadas mediante los SDK de Durable Task o Durable Functions se pueden hospedar en Azure Container Apps. Obtenga información sobre qué marco funciona mejor para su escenario.