Partilhar via


APIs de microsserviço com tecnologia Dapr

Os Aplicativos de Contêiner do Azure fornecem APIs com tecnologia Dapr (Distributed Application Runtime) que ajudam você a escrever e implementar microsserviços simples, portáteis, resilientes e seguros. O Dapr trabalha em conjunto com os Aplicativos de Contêiner do Azure como uma camada de abstração para fornecer uma plataforma escalável e de baixa manutenção. Os Aplicativos de Contêiner do Azure oferecem uma seleção de APIs, componentes e recursos de Dapr totalmente gerenciados, voltados especificamente para cenários de microsserviços. Basta habilitar e configurar o Dapr como de costume em seu ambiente de aplicativo de contêiner.

Como as APIs de microsserviços funcionam com seu aplicativo de contêiner

Configure APIs de microsserviços para seu ambiente de aplicativos de contêiner com um aplicativo de contêiner habilitado para Dapr, um componente Dapr configurado para sua solução e um sidecar Dapr invocando comunicação entre eles. O diagrama a seguir demonstra esses conceitos principais, usando a API pub/sub como exemplo.

Diagrama demonstrando o Dapr pub/sub e como ele funciona em Container Apps.

Etiqueta Configurações do Dapr Description
5 Aplicativos de contêiner com Dapr habilitado O Dapr é habilitado no nível do aplicativo de contêiner configurando um conjunto de argumentos do Dapr. Esses valores se aplicam a todas as revisões de um determinado aplicativo de contêiner quando executado no modo de várias revisões.
2 Dapr As APIs do Dapr totalmente gerenciadas são expostas a cada aplicativo de contêiner por meio de um sidecar do Dapr. As APIs do Dapr podem ser invocadas a partir do seu aplicativo de contêiner via HTTP ou gRPC. O sidecar Dapr é executado na porta HTTP 3500 e na porta gRPC 50001.
3 Configuração do componente Dapr O Dapr usa um design modular onde a funcionalidade é entregue como um componente. Os componentes do Dapr podem ser compartilhados entre vários aplicativos de contêiner. Os identificadores de aplicativo Dapr fornecidos na matriz scopes ditam quais aplicativos de contêiner habilitados para dapr carregam um determinado componente em tempo de execução.

APIs, componentes e ferramentas Dapr suportados

APIs gerenciadas

Os Aplicativos de Contêiner do Azure oferecem APIs de Dapr gerenciadas geralmente disponíveis (blocos de construção). Essas APIs são totalmente gerenciadas e suportadas para uso em ambientes de produção.

Para saber mais sobre como usar APIs e recursos do Dapr alfa , consulte as Perguntas frequentes do Dapr.

Diagrama que mostra APIs Dapr.

API Status Description
Invocação de serviço a serviço GA Descubra serviços e realize chamadas diretas e confiáveis de serviço a serviço com autenticação e criptografia automáticas de mTLS. Consulte as limitações conhecidas para a invocação do serviço Dapr em Aplicativos de Contêiner do Azure.
Gestão de estados GA Fornece recursos de gerenciamento de estado para transações e operações CRUD.
Pub/sub GA Permite que os aplicativos de contêiner do editor e do assinante se intercomuniquem por meio de um agente de mensagens intermediário. Você também pode criar assinaturas declarativas para um tópico usando um arquivo JSON de componente externo. Saiba mais sobre a API declarativa pub/sub.
Ligações GA Acione seus aplicativos com base em eventos
Intervenientes GA Os atores do Dapr são unidades de trabalho orientadas por mensagens e de thread único, projetadas para escalar rapidamente. Por exemplo, em situações de carga de trabalho intensa.
Observabilidade GA Envie informações de rastreamento para um back-end do Application Insights.
Segredos GA Acesse segredos do código do aplicativo ou faça referência a valores seguros nos componentes do Dapr.
Configuração GA Recupere e assine itens de configuração de aplicativos para armazenamentos de configuração suportados.

SDKs compatíveis

Os pacotes SDK de cliente mais recentes do Dapr são compatíveis com os Aplicativos de Contêiner do Azure. Você pode usar qualquer uma das APIs suportadas do Dapr do GA com as seguintes versões do SDK do cliente Dapr:

Idioma Versão do SDK
Java 1.12.0
Go 1.11.0
Python 1.14.0
.NET 1.14.0
JavaScript 3.3.1
Rust 0.15.1

Nota

Atualmente, as extensões de servidor, ator e pacotes SDK de fluxo de trabalho do Dapr não são compatíveis com os Aplicativos de Contêiner do Azure. Saiba mais sobre todos os pacotes do Dapr SDK.

Componentes de nível 1 versus componentes de nível 2

Um subconjunto de componentes Dapr é suportado. Dentro desse subconjunto, os componentes do Dapr são divididos em duas categorias de suporte: Nível 1 ou Nível 2.

  • Componentes de nível 1: componentes estáveis que recebem investigação imediata em cenários críticos (segurança ou regressão grave). Caso contrário, a Microsoft colabora com o código aberto para resolver em um hotfix ou na próxima versão regular.
  • Componentes de nível 2: componentes que são investigados em uma prioridade menor, pois não estão em estado estável ou estão com um provedor de terceiros.

Componentes de nível 1

API Componente Type
Gestão de estados Azure Cosmos DB
Azure Blob Storage v1
Armazenamento de Tabelas do Azure
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publicar e subscrever Filas do Azure Service Bus
Tópicos do Azure Service Bus
Hubs de Eventos do Azure
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Enlace Filas de Armazenamento do Azure
Filas do Azure Service Bus
Armazenamento de Blobs do Azure
Hubs de Eventos do Azure
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Gestão de segredos Azure Key Vault secretstores.azure.keyvault

Componentes de nível 2

API Componente Type
Gestão de estados PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publicar e subscrever Apache Kafka
Fluxos Redis
pubsub.kafka
pubsub.redis
Enlace Grelha de Eventos do Azure
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Configuração PostgreSQL
Redis
configuration.postgresql
configuration.redis

Ferramentas

Os Aplicativos de Contêiner do Azure garantem a compatibilidade com as ferramentas de código aberto do Dapr, como SDKs e a CLI.

Limitações

  • Especificação de configuração do Dapr: quaisquer recursos que exijam o uso da especificação de configuração do Dapr.
  • Todas as anotações do sidecar Dapr não listadas no guia de ativação do Dapr
  • Suporte a APIs e componentes: somente as APIs do Dapr e os componentes listados como GA, Camada 1 ou Camada 2 neste artigo têm suporte nos Aplicativos de Contêiner do Azure.
  • Lembretes do ator: exija um minReplicas de 1+ para garantir que os lembretes estejam sempre ativos e sejam acionados corretamente.
  • Empregos: O Dapr não é suportado para empregos.

Próximos passos