共用方式為


由 Dapr 提供支援的微服務 API

Azure 容器應用程式提供由分散式應用程式執行階段 (Dapr) 提供支援的 API,可協助您撰寫及實作簡單、可攜式、具復原性且安全的微服務。 Dapr 會與 Azure 容器應用程式一起作為抽象層運作,以提供低維護且可調整的平台。 Azure 容器應用程式提供了一系列完全受控的 Dapr API、元件和功能,專門針對微服務案例。 只需在您的容器應用程式環境中照常啟用和設定 Dapr

微服務 API 如何與您的容器應用程式搭配使用

使用已啟用 Dapr 的容器應用程式針對解決方案設定的 Dapr 元件,以及叫用兩者之間通訊的 Dapr Sidecar,為您的容器應用程式環境設定微服務 API。 下圖使用 pub/sub API 作為範例示範了這些核心概念。

示範 Dapr pub/sub 及其在容器應用程式中運作方式的圖表。

標籤 Dapr 設定 描述
1 已啟用 Dapr 的容器應用程式 透過設定一組 Dapr 引數,在容器應用程式層級啟用 Dapr。 在多個修訂模式下執行時,這些值會套用至指定容器應用程式的所有修訂。
2 Dapr 完全受控的 Dapr API 會透過 Dapr Sidecar 向每個容器應用程式公開。 您可以透過 HTTP 或 gRPC 從容器應用程式叫用 Dapr API。 Dapr Sidecar 會在 HTTP 連接埠 3500 和 gRPC 連接埠 50001 上執行。
3 Dapr 元件設定 Dapr 使用模組化設計,其中功能會以元件的形式提供。 Dapr 元件可以跨多個容器應用程式共用。 範圍陣列中提供的 Dapr 應用程式識別碼會指定哪些已啟用 Dapr 的容器應用程式會在執行階段載入指定的元件。

支援的 Dapr API、元件和工具

受控 API

Azure Container Apps 提供受控的正式運作 Dapr API(建置組塊 API 和操作 API)。 這些 API 完全受控並支援在生產環境中使用。

若要深入了解如何使用 alpha Dapr API 和功能,請參閱 Dapr 常見問題

顯示 Dapr API 的圖表。

建置組塊 API

建置組塊 API 狀態 描述
服務對服務叫用 GA 探索服務,並使用自動 mTLS 驗證和加密來執行可靠、直接的服務對服務呼叫。 請參閱 Azure 容器應用程式中 Dapr 服務叫用的已知限制。
狀態管理 GA 提供交易和 CRUD 作業的狀態管理功能。
發行/訂閱 GA 允許發行者和訂閱者容器應用程式透過中繼訊息代理程式進行互通。 您也可以使用外部元件 JSON 檔案,建立主題的宣告式訂閱。 深入了解宣告式 pub/sub API。
繫結 GA 根據事件觸發您的應用程式
執行者 GA Dapr 執行者是訊息驅動型的單一執行緒工作單位,專為快速調整而設計。 例如,在高載工作負載的情況下。
密碼 GA 從應用程式程式碼存取祕密,或參考 Dapr 元件中的安全值。
Configuration GA 擷取並訂閱支援組態存放區的應用程式設定項目。

作業 API

操作 API 狀態 描述
健全狀況 GA 健康情況檢查探查會監視 Dapr 的整備程度或活躍度,以及 SDK 的初始化整備程度。 健康情況 API 僅適用於 HTTP。
中繼資料 GA 傳回側車的相關信息,允許運行時間探索性。

相容的 SDK

Dapr 的最新用戶端 SDK 套件與 Azure Container Apps 相容。 您可以使用任何 支援的 GA Dapr API 搭配下列 Dapr 用戶端 SDK 版本:

語言 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

注意

目前,Dapr 伺服器擴充功能、動作專案和工作流程 SDK 套件與 Azure Container Apps 不相容。 深入瞭解所有 Dapr SDK 套件。

Dapr 元件

第 1 層與第 2 層元件

支援 Dapr 元件的子集。 在該子集內,Dapr 元件分成兩個支援類別:第 1 層或第 2 層。

  • 第 1 層元件: 在重大 (安全性或嚴重迴歸) 案例中立即接受調查的穩定元件。 否則,Microsoft 會與開放原始碼共同作業,以在 Hotfix 或下一個一般版本中解決問題。
  • 第 2 層元件: 以較低優先順序進行調查的元件,因為其狀態不穩定,或來自第三方提供者。
第 1 層元件
API 元件 類型
狀態管理 Azure Cosmos DB
Azure Blob 儲存體 v1
Azure 資料表儲存體
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
發佈與訂閱 Azure 服務匯流排佇列
Azure 服務匯流排主題
Azure 事件中樞
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
繫結 Azure 儲存體佇列
Azure 服務匯流排佇列
Azure Blob 儲存體
Azure 事件中樞
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
祕密管理 Azure Key Vault secretstores.azure.keyvault
第 2 層元件
API 元件 類型
狀態管理 PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
發佈與訂閱 Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
繫結 事件格線
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
組態 PostgreSQL
Redis
configuration.postgresql
configuration.redis

深入瞭解如何在 Azure Container Apps 中使用支援的 Dapr 元件。

Tooling

Azure 容器應用程式可確保與 Dapr 開放原始碼工具的相容性,例如 SDK 和 CLI。

限制

  • Dapr 設定規格:任何需要使用 Dapr 設定規格的功能。
  • Dapr 啟用指南中未列出的任何 Dapr Sidecar 註釋
  • API 和元件支援:Azure 容器應用程式僅支援本文中列為 GA、第 1 層或第 2 層的 Dapr API 和元件。
  • 動作項目提醒:要求 1+ 的 minReplicas,以確保提醒一律處於作用中並正確引發。
  • 作業:作業不支援 Dapr。

下一步