Compartilhar via


APIs de microsserviço da plataforma Dapr

Os Aplicativos de Contêiner do Azure fornecem APIs com tecnologia Distributed Application Runtime (Dapr) 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 escalonável e de baixa manutenção. Os Aplicativos de Contêiner do Azure oferecem uma seleção de APIs, componentes e recursos totalmente gerenciados de Dapr, 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 as APIs de microsserviços para o seu ambiente de aplicativos em contêineres com um aplicativo de contêiner habilitado para Dapr, um componente Dapr configurado para a sua solução e um sidecar Dapr que invoca a comunicação entre eles. O diagrama a seguir demonstra esses conceitos básicos, usando a API pub/sub como exemplo.

Diagrama demonstrando o Dapr pub/sub e como ele funciona com os Aplicativos de Contêiner.

Rótulo Configurações do Dapr Descrição
1 Aplicativos de Contêiner com o Dapr habilitado O Dapr está habilitado no nível do aplicativo de contêiner definindo um conjunto de argumentos do Dapr. Esses valores se aplicam a todas as revisões de um determinado aplicativo de contêiner durante a execução 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 do seu aplicativo de contêiner por meio de HTTP ou gRPC. O sidecar do Dapr é executado na porta HTTP 3500 e na porta gRPC 50001.
3 Configuração dos componentes do Dapr O Dapr usa um design modular em que a funcionalidade é entregue como um componente. Os componentes do Dapr podem ser compartilhados por vários aplicativos de contêiner. Os identificadores de aplicativo Dapr fornecidos na matriz de escopos determinam quais aplicativos de contêiner habilitados para Dapr carregam um determinado componente em runtime.

APIs, componentes e ferramentas Dapr compatíveis

APIs gerenciadas

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

Para saber mais sobre o uso de APIs e recursos alfa do Dapr, veja as Perguntas frequentes do Dapr.

Diagrama que mostra as APIs do Dapr.

API Status Descrição
Invocação de serviço a serviço GA Descubra serviços e execute chamadas de serviço a serviço confiáveis e diretas com autenticação e criptografia mTLS automáticas. Veja as limitações conhecidas para a invocação do serviço Dapr nos Aplicativos de Contêiner do Azure.
Gerenciamento de estado GA Fornece recursos de gerenciamento de estado para transações e operações CRUD.
Pub/sub GA Permite que aplicativos de contêineres de editores e assinantes intercomunem por meio de um agente de mensagens intermediário. Também é possível criar assinaturas declarativas para um tópico usando um arquivo JSON de componente externo. Saiba mais sobre a API de pub/sub declarativa.
Associações GA Disparar seus aplicativos com base em eventos
Atores GA Os atores Dapr são unidades de trabalho controladas por mensagens, de thread único, projetadas para dimensionar 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 referencie valores seguros em seus componentes do Dapr.
Configuration GA Recupere e assine itens de configuração de aplicativos para armazenamentos de configuração com suporte.

SDKs Compatíveis

Os pacotes de SDK de cliente mais recentes da Dapr são compatíveis com os Aplicativos de Contêiner do Azure. Você pode usar qualquer uma das APIs GA Dapr suportadas 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

Observação

Atualmente, os pacotes de extensões de servidor, ator e 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 Camada 1 versus Camada 2

Há suporte para um subconjunto de componentes Dapr. Dentro desse subconjunto, os componentes do Dapr são divididos em duas categorias de suporte: Camada 1 ou Camada 2.

  • Componentes de camada 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 software livre para resolver em um hotfix ou na próxima versão regular.
  • Componentes de camada 2: componentes que são investigados com prioridade menor, pois não estão em estado estável ou estão com um provedor de terceiros.

Componentes da camada 1

API Componente Tipo
Gerenciamento de estado Azure Cosmos DB
Armazenamento de Blobs do Azure v1
Armazenamento de Tabelas do Azure
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publicar e assinar Filas do Barramento de Serviço do Azure
Tópicos do Barramento de Serviço do Azure
Hubs de eventos do Azure
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Associação Filas de Armazenamento do Azure
Filas do Barramento de Serviço do Azure
Armazenamento do Blobs do Azure
Hubs de eventos do Azure
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Gerenciamento de segredos Cofre de Chave do Azure secretstores.azure.keyvault

Componentes da camada 2

API Componente Tipo
Gerenciamento de estado PostgreSQL
MySQL e MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publicar e assinar Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
Associação Grade 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 compatibilidade com ferramentas de código aberto Dapr, como SDKs e CLI.

Limitações

  • Especificação de configuração do Dapr: todos os recursos que exigem o uso da especificação de configuração do Dapr.
  • Quaisquer anotações de sidecar do Dapr não listadas no guia de habilitação do Dapr
  • Suporte a APIs e componentes: somente as APIs e os componentes do Dapr listados como GA, Camada 1 ou Camada 2 nesse artigo têm suporte nos Aplicativos de Contêiner do Azure.
  • Lembretes de ator: exija um minReplicas de 1+ para garantir que os lembretes sempre estarão ativos e sejam disparados corretamente.
  • Trabalhos: não há suporte para trabalhos no Dapr.

Próximas etapas