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.
Azure Container Apps proporciona API con tecnología de Distributed Application Runtime (Dapr) que ayuda a escribir e implementar microservicios sencillos, portátiles, resistentes y protegidos. Dapr trabaja junto con Azure Container Apps como capa de abstracción para proporcionar una plataforma escalable y de bajo mantenimiento. Azure Container Apps ofrece una selección de API, componentes y características de Dapr totalmente administrados que se adaptan específicamente a escenarios de microservicios. Solo tiene que habilitar y configurar Dapr de la forma habitual en el entorno de la aplicación contenedora.
Nota:
Busque actualizaciones y anuncios de lanzamiento para Dapr en Azure Container Apps en GitHub.
Funcionamiento de las API de microservicio con la aplicación contenedora
Configure API de microservicios para su entorno de aplicaciones contenedoras con una Aplicación contenedora habilitada para Dapr, un Componente de Dapr configurado para su solución y un sidecar de Dapr que invoque la comunicación entre ellos. En el diagrama siguiente se muestran estos conceptos básicos utilizando la API pub/sub como ejemplo.
| Etiqueta | Configuración de Dapr | Descripción |
|---|---|---|
| 1 | Container Apps con Dapr habilitado | Dapr está habilitado en el nivel de aplicación de contenedor mediante la configuración de un conjunto de argumentos de Dapr. Estos valores se aplican a todas las revisiones de una aplicación de contenedor determinada cuando se ejecutan en modo de varias revisiones. |
| 2 | Dapr | Las API de Dapr totalmente administradas se exponen a cada aplicación de contenedor mediante un sidecar de Dapr. Las API de Dapr se pueden invocar desde la aplicación de contenedor mediante HTTP o gRPC. El sidecar de Dapr se ejecuta en el puerto HTTP 3500 y el puerto gRPC 50001. |
| 3 | Configuración de componentes de Dapr | Dapr usa un diseño modular en el que la funcionalidad se entrega como componente. Los componentes de Dapr se pueden compartir entre varias aplicaciones de contenedor. Los identificadores de aplicación de Dapr proporcionados en la matriz de ámbitos dictan qué aplicaciones de contenedor habilitadas para Dapr cargan un componente determinado en tiempo de ejecución. |
Control de versiones
En lugar de seguir una programación de versión fija, Dapr en Azure Container Apps publica nuevas características y funcionalidades en función de la priorización y estabilidad de los archivos binarios de Dapr. Obtenga más información sobre las versiones de Dapr en Azure Container Apps.
Las versiones de Dapr en Azure Container Apps incluyen:
- Un prefijo de control de versiones semántico, como
1.13.6, que denota compatibilidad con las API de versión del entorno de ejecución del OSS de Dapr correspondientes y herramientas relacionadas, como SDK, CLI, etc. - Un sufijo
-msft.<number>, que indica la incorporación de personalizaciones específicas de Azure para mejorar la seguridad y la preparación de producción.
El formato de versión completa de Dapr en Azure Container Apps puede tener un aspecto similar a 1.13.6-msft.1.
Nota:
Es posible que el <number> del sufijo no siempre se incremente secuencialmente. Por ejemplo, la versión 1.13.6-msft.3 puede omitir 1.13.6-msft.2.
API, componentes y herramientas de Dapr compatibles
API administradas
Azure Container Apps ofrece API de Dapr administradas disponibles con carácter general (API de bloques de creación y API operativas). Estas API están totalmente administradas y se admiten para su uso en entornos de producción.
Para obtener más información sobre el uso de las API y característica de alfa Dapr, consulte las Preguntas frecuentes sobre Dapr.
API de bloques de creación
| API de bloques de creación | Estado | Descripción |
|---|---|---|
| Invocación de servicio a servicio | Disponibilidad general | Descubre los servicios y realiza llamadas de servicio a servicio confiables y directas con autenticación y cifrado automáticos de mTLS. Consulte las limitaciones conocidas de la invocación del servicio Dapr en Azure Container Apps. |
| Administración de estado | Disponibilidad general | Proporciona funcionalidades de administración de estado para transacciones y operaciones CRUD. |
| Pub/sub | Disponibilidad general | Permite que las aplicaciones de contenedor de publicadores y suscriptores se comuniquen entre ellos a través de un agente de mensajes intermediario. También puede crear suscripciones declarativas a un tema mediante un archivo JSON de componente externo. Obtenga más información sobre la API pub/sub declarativa. |
| Enlaces | Disponibilidad general | Desencadene las aplicaciones en función de eventos |
| Actores | Disponibilidad general | Los actores de Dapr son unidades de trabajo orientadas a mensajes, de un solo subproceso y diseñadas para escalar rápidamente. Por ejemplo, en situaciones de carga de trabajo en ráfaga intensivas. |
| Secretos | Disponibilidad general | Accede a secretos desde el código de la aplicación o haz referencia a valores seguros en los componentes de Dapr. |
| Configuración | Disponibilidad general | Recupere los elementos de configuración de la aplicación y suscríbase a ellos para los almacenes de configuración admitidos. |
API operativas
| API operativa | Estado | Descripción |
|---|---|---|
| Estado | Disponibilidad general | Sondeos de comprobación de estado que supervisan la preparación o la ejecución de Dapr y la preparación de la inicialización de los SDK. La API de mantenimiento solo está disponible para HTTP. Las comprobaciones de estado de sidecar de Dapr se configuran automáticamente cuando Dapr está habilitado en la aplicación contenedora. |
| Metadatos | Disponibilidad general | Devuelve información acerca del sidecar, lo que proporciona detectabilidad en tiempo de ejecución. |
SDK compatibles
Los paquetes del SDK de cliente más recientes de Dapr son compatibles con Azure Container Apps. Puede usar los SDK de Dapr con cualquiera de las API de tiempo de ejecución de Dapr v1.12 de disponibilidad general y compatibles.
Nota:
Actualmente, las extensiones de servidor de Dapr, actores y paquetes del SDK de flujo de trabajo no son compatibles con Azure Container Apps. Obtenga más información sobre todos los paquetes del SDK de Dapr.
Componentes de Dapr
Componentes de nivel 1 frente a componentes de nivel 2
Se admite un subconjunto de componentes de Dapr. Dentro de ese subconjunto, los componentes de Dapr se dividen en dos categorías de soporte técnico: nivel 1 o nivel 2.
- Componentes de nivel 1: componentes estables que reciben investigación inmediata en escenarios críticos (seguridad o regresión grave). De lo contrario, Microsoft colabora con código abierto para abordar el problema en una revisión o en la próxima versión normal.
- Componentes de nivel 2: componentes que se investigan con una prioridad menor, ya que no tienen un estado estable o están con un proveedor externo.
Componentes de nivel 1
| Interfaz de Programación de Aplicaciones (API) | Componente | Tipo |
|---|---|---|
| Administración de estados | Azure Cosmos DB (la base de datos de Azure Cosmos) Azure Blob Storage v1 Azure Table Storage (almacenamiento de tablas de Azure) Microsoft SQL Server |
state.azure.cosmosdbstate.azure.blobstoragestate.azure.tablestoragestate.sqlserver |
| Publicación y suscripción | Colas de Azure Service Bus Temas de Azure Service Bus Azure Event Hubs |
pubsub.azure.servicebus.queuespubsub.azure.servicebus.topicspubsub.azure.eventhubs |
| Binding | Colas de Azure Storage Colas de Azure Service Bus Azure Blob Storage (Servicio de almacenamiento de blobs de Azure) Azure Event Hubs |
bindings.azure.storagequeuesbindings.azure.servicebusqueuesbindings.azure.blobstoragebindings.azure.eventhubs |
| Administración de secretos | Azure Key Vault | secretstores.azure.keyvault |
Componentes de nivel 2
| Interfaz de Programación de Aplicaciones (API) | Componente | Tipo |
|---|---|---|
| Administración de estados | PostgreSQL MySQL y MariaDB Redis |
state.postgresqlstate.mysqlstate.redis |
| Publicación y suscripción | Apache Kafka Secuencias de Redis |
pubsub.kafkapubsub.redis |
| Binding | Azure Event Grid Azure Cosmos DB (la base de datos de Azure Cosmos) Apache Kafka PostgreSQL Redis Cron |
bindings.azure.eventgridbindings.azure.cosmosdbbindings.kafkabindings.postgresqlbindings.redisbindings.cron |
| Configuración | PostgreSQL Redis |
configuration.postgresqlconfiguration.redis |
Tooling
Azure Container Apps garantiza la compatibilidad con las herramientas de código abierto de Dapr, como los SDK y la CLI.
Limitaciones
- Especificación de configuración de Dapr: cualquier funcionalidad que requiera el uso de la especificación de configuración de Dapr.
- Anotaciones de sidecar de Dapr que no aparecen en la guía de habilitación de Dapr
- API y componentes admiten: solo se admiten las API y componentes de Dapr enumerados como disponibilidad general, nivel 1, o nivel 2 en este artículo se admiten en Azure Container Apps.
- Recordatorios de actor: requiere un minReplicas de 1+ para asegurarse de que los avisos siempre estarán activos y se activarán correctamente.
- Trabajos: Dapr no se admite para trabajos.
Pasos siguientes
- Implemente Dapr mediante:
- Habilite Dapr en una aplicación contenedora existente.