Freigeben über


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 (Baustein-APIs und operative APIs). 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.

Baustein-APIs

Baustein-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.
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.

Operative APIs

Operative API Status Beschreibung
Gesundheit Allgemein verfügbar Integritätsprüfungen, die die Bereitschaft oder Verfügbarkeit (Livetest) von Dapr und die Initialisierungsbereitschaft von SDKs überwachen. Die Integritäts-API ist nur für HTTP (Hypertext Transfer-Protokoll) verfügbar.
Metadaten Allgemein verfügbar Gibt Informationen zum Sidecar zurück, wodurch die Erkennbarkeit zur Laufzeit ermöglicht wird.

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.

Dapr-Komponenten

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

Erfahren Sie mehr über die Verwendung der unterstützten Dapr-Komponenten in Azure Container Apps.

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