Exploración de la integración de Dapr con Azure Container Apps
Distributed Application Runtime (Dapr) es un conjunto de características que se pueden adoptar de forma incremental, que simplifican la creación de aplicaciones distribuidas basadas en microservicios. Dapr proporciona funcionalidades para habilitar la intercomunicación de aplicaciones mediante la mensajería a través de pub/sub o llamadas de servicio a servicio confiables y seguras.
Dapr es un proyecto de código abierto de Cloud Native Computing Foundation (CNCF). La CNCF forma parte de Linux Foundation y proporciona soporte, supervisión y dirección para proyectos nativos de rápido crecimiento en la nube. Como alternativa a tener que implementar y administrar el proyecto Dapr OSS usted, la plataforma Container Apps ofrece lo siguiente:
- Proporciona una integración de Dapr administrada y compatible
- Controla las actualizaciones de versiones de Dapr sin problemas
- Expone un modelo de interacción de Dapr simplificado para aumentar la productividad del desarrollador
API de Dapr
API de Dapr | Descripción |
---|---|
Invocación de servicio a servicio | Descubra los servicios y realice llamadas de servicio a servicio confiables y directas con autenticación y cifrado automáticos de mTLS. |
Administración de estados | Proporciona funcionalidades de administración de estado para transacciones y operaciones CRUD. |
Pub/sub | Permite que las aplicaciones de contenedor de publicadores y suscriptores se comuniquen entre ellos a través de un agente de mensajes intermediario. |
Enlaces | Desencadene las aplicaciones en función de eventos |
Actores | 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. |
Observabilidad | Envíe información de seguimiento a un back-end de Application Insights. |
Secretos | Acceda a secretos desde el código de la aplicación o haga referencia a valores seguros en los componentes de Dapr. |
Configuración | Recupere los elementos de configuración de la aplicación y suscríbase a ellos para los almacenes de configuración admitidos. |
Nota:
En la tabla se describen las API de Dapr estables. Para más información sobre el uso de las API alfa y las características, visite limitaciones.
Conceptos principales de Dapr
El ejemplo siguiente basado en una API de pub/sub se usa para ilustrar los conceptos básicos relacionados con Dapr en Azure Container Apps.
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. |
Habilitación de Dapr
Puede configurar Dapr mediante varios argumentos y anotaciones basados en el contexto en tiempo de ejecución. Azure Container Apps proporciona tres canales mediante los cuales puede configurar Dapr:
- CLI de Container Apps
- Plantillas de infraestructura como código (IaC), como en las plantillas de Bicep o Azure Resource Manager (ARM)
- Azure Portal
Componentes y ámbitos de Dapr
Dapr usa un diseño modular en el que la funcionalidad se entrega como componente. El uso de componentes de Dapr es opcional y está determinado exclusivamente por las necesidades de la aplicación.
Los componentes de Dapr de las aplicaciones de contenedor son recursos de nivel de entorno que hacen lo siguiente:
- Pueden proporcionar un modelo de abstracción enchufable para conectarse a servicios externos compatibles.
- Se pueden compartir entre aplicaciones de contenedor o limitarse a aplicaciones de contenedor específicas.
- Pueden usar secretos de Dapr para recuperar de forma segura los metadatos de configuración.
De manera predeterminada, todas las aplicaciones de contenedor habilitadas para Dapr dentro del mismo entorno cargan el conjunto completo de componentes implementados. Para asegurarse de que los componentes se cargan en tiempo de ejecución solo en las aplicaciones de contenedor adecuadas, se deben usar ámbitos de aplicación.