Von Dapr unterstützte Microservice-APIs

Azure Container Apps stellt von Distributed Application Runtime (Dapr) unterstützte APIs bereit, mit denen Sie einfache, portierbare, resiliente und geschützte Microservices schreiben und implementieren können. Dapr arbeitet mit Azure Container Apps als Abstraktionsebene zusammen, um eine wartungsarme und skalierbare Plattform bereitzustellen. Azure Container Apps bietet eine Auswahl an vollständig verwalteten Dapr-APIs, -Komponenten und -Features, die speziell auf Microserviceszenarien zugeschnitten sind. Aktivieren und konfigurieren Sie Dapr einfach wie gewohnt in Ihrer Container-App-Umgebung.

Funktionsweise der Microservices-APIs in Ihrer Container-App

Konfigurieren Sie die Microservices-APIs für Ihre Container-Apps-Umgebung mit einer Dapr-fähigen Container-App, einer Dapr-Komponente, die für Ihre Lösung konfiguriert ist, und einem Dapr-Sidecar, der die Kommunikation zwischen ihnen aufruft. Das folgende Diagramm veranschaulicht diese Kernkonzepte mithilfe der Pub/Sub-API als Beispiel.

Diagramm, das die Dapr-Pub/Sub-Komponente und deren Funktionsweise in Container Apps darstellt.

Bezeichnung Dapr-Einstellungen BESCHREIBUNG
1 Container Apps mit Dapr-Aktivierung Dapr wird auf Container-App-Ebene durch das Konfigurieren von eines Satzes von Dapr-Argumenten aktiviert. Diese Werte gelten für alle Revisionen einer bestimmten Container-App, wenn diese im Multirevisionsmodus ausgeführt wird.
2 Dapr Die vollständig verwalteten Dapr-APIs werden jeder Container-App über ein Dapr-Sidecar verfügbar gemacht. Die Dapr-APIs können aus Ihrer Container-App über HTTP oder gRPC aufgerufen werden. Das Dapr-Sidecar wird an HTTP-Port 3500 und gRPC-Port 50001 ausgeführt.
3 Dapr-Komponentenkonfiguration Dapr verwendet ein modulares Design, bei dem Funktionalität als Komponente bereitgestellt wird. Dapr-Komponenten können von mehreren Container-Apps gemeinsam genutzt werden. Die im Array „scopes“ angegebenen Dapr-App-Bezeichner legen fest, welche Dapr-fähigen Container-Apps zur Laufzeit eine bestimmte Komponente laden.

Unterstützte Dapr-APIs, -Komponenten und -Tools

Verwaltete APIs

Azure Container Apps bietet allgemein verfügbare verwaltete Dapr-APIs (Bausteine). Diese APIs werden vollständig verwaltet und für die Verwendung in Produktionsumgebungen unterstützt.

Weitere Informationen zur Verwendung von Dapr-Alpha-APIs und -Features finden Sie unter Häufig gestellte Fragen zu Dapr.

Diagramm der Dapr-APIs.

API Status Beschreibung
Dienst-zu-Dienst-Aufruf Allgemein verfügbar Entdecken Sie Dienste, und verwenden Sie zuverlässige, direkte Dienst-zu-Dienst-Aufrufe mit automatischer mTLS-Authentifizierung und Verschlüsselung. Sehen Sie sich bekannte Einschränkungen beim Aufrufen des Dapr-Dienstes in Azure Container Apps an.
Zustandsverwaltung Allgemein verfügbar Bietet Zustandsverwaltungsfunktionen für Transaktionen und CRUD-Vorgänge.
Pub/Sub Allgemein verfügbar Ermöglicht die Kommunikation zwischen Container-Apps mit Herausgeber und Abonnent über einen zwischengeschalteten Nachrichtenbroker. Sie können auch deklarative Abonnements für ein Thema erstellen, indem Sie eine JSON-Datei für externe Komponenten verwenden. Erfahren Sie mehr über die deklarative API zum Veröffentlichen/Abonnieren.
Bindungen Allgemein verfügbar Auslösen Ihrer Anwendungen auf Grundlage von Ereignissen
Akteure Allgemein verfügbar Dapr-Akteure sind meldungsgesteuerte, Einzelthread-Arbeitseinheiten, die auf schnelle Skalierung ausgelegt sind. Zum Beispiel in Workloadsituationen mit häufigen Bursts.
Einblick Allgemein verfügbar Senden Sie Ablaufverfolgungsinformationen an ein Application Insights-Back-End.
Geheimnisse Allgemein verfügbar Sie können auf Geheimnisse aus Ihrem Anwendungscode heraus zugreifen oder in Ihren Dapr-Komponenten auf sichere Werte verweisen.
Configuration Allgemein verfügbar Rufen Sie Anwendungskonfigurationselemente für unterstützte Konfigurationsspeicher ab und abonnieren Sie sie.

Kompatible SDKs

Die neuesten Client-SDK-Pakete von Dapr sind mit Azure Container Apps kompatibel. Sie können jede der unterstützten GA Dapr-APIs mit den folgenden Dapr-Client-SDK-Versionen verwenden:

Sprache SDK-Version
Java 1.12.0
Go 1.11.0
Python 1.14.0
.NET 1.14.0
JavaScript 3.3.1
Rust 0.15.1

Hinweis

Derzeit sind die Dapr-Servererweiterungen, Actor- und Workflow-SDK-Pakete nicht mit Azure Container Apps kompatibel. Erfahren Sie mehr über alle Dapr SDK-Pakete.

Komponenten der Ebene 1 und Ebene 2 im Vergleich

Ein Teil der Dapr-Komponenten wird unterstützt. Innerhalb dieser Teilmenge sind Dapr-Komponenten in zwei Supportkategorien unterteilt: Ebene 1 oder Ebene 2.

  • Komponenten der Ebene 1: Stabile Komponenten, die in kritischen Szenarien (Sicherheitsproblem oder schwerwiegende Regression) sofort untersucht werden. Andernfalls arbeitet Microsoft mit dem Open Source-Projekt zusammen, um Probleme in einem Hotfix oder im nächsten regulären Release zu beheben.
  • Komponenten der Ebene 2: Komponenten, die mit niedrigerer Priorität untersucht werden, da sie nicht stabil sind oder von einem Drittanbieter bereitgestellt werden.

Komponenten der Ebene 1

API Komponente type
Zustandsverwaltung Azure Cosmos DB
Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Veröffentlichen und Abonnieren Azure Service Bus-Warteschlangen
Azure Service Bus-Themen
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Binding Azure Storage-Warteschlangen
Azure Service Bus-Warteschlangen
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Geheimnisverwaltung Azure Key Vault secretstores.azure.keyvault

Komponenten der Ebene 2

API Komponente type
Zustandsverwaltung PostgreSQL
MySQL und MariaDB
Redis
state.postgresql
state.mysql
state.redis
Veröffentlichen und Abonnieren Apache Kafka
Streams in Redis
pubsub.kafka
pubsub.redis
Binding Azure Event Grid
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Konfiguration PostgreSQL
Redis
configuration.postgresql
configuration.redis

Tools

Azure Container Apps stellt die Kompatibilität mit Dapr-Open-Source-Tools wie SDKs und der CLI sicher.

Begrenzungen

  • Dapr-Konfigurationsspezifikation: Alle Funktionen, die die Verwendung der Dapr-Konfigurationsspezifikation erfordern.
  • Alle Dapr-Sidecar-Anmerkungen, die nicht in der Dapr-Aktivierungsanleitung aufgelistet sind
  • APIs und Komponenten unterstützen: Nur die Dapr-APIs und -Komponenten, die in diesem Artikel als GA, Tier 1 oder Tier 2 aufgeführt werden, werden in Azure Container Apps unterstützt.
  • Erinnerungen für Akteure: Für minReplicas muss mindestens der Wert 1 verlangt werden, um sicherzustellen, dass Erinnerungen stets aktiv sind und ordnungsgemäß ausgelöst werden.
  • Aufträge: Dapr wird für Aufträge nicht unterstützt.

Nächste Schritte