Share via


使用應用程式群組的資源控管

Azure 事件中樞可讓您控管連線至事件中樞用戶端應用程式的事件串流工作負載。 您可以建立稱為應用程式群組 的邏輯群組,其中每個群組均為用戶端應用程式的集合,然後針對應用程式群組 (即用戶端應用程式群組) 套用配額和存取管理原則。

注意

應用程式群組僅適用於進階專用層。

應用程式群組

應用程式群組是一或多個與事件中樞資料平面互動的用戶端應用程式集合。 每個應用程式群組的範圍均為單一事件中樞命名空間,且應使用唯一的識別條件,例如安全性內容為用戶端應用程式的共用存取簽章 (SAS) 或 Microsoft Entra ID 的應用程式識別碼。

事件中樞目前支援使用安全性內容來建立應用程式群組。 因此,每個應用程式群組都必須有與其相關聯的唯一 SAS 原則或 Microsoft Entra 應用程式識別碼。 如有偏好,您可以在事件中樞層級使用安全性內容,以在命名空間內搭配特定事件中樞使用應用程式群組。

應用程式群組為在命名空間層級建立的邏輯實體。 因此,與事件中樞互動的用戶端應用程式不需要注意應用程式群組是否存在。 事件中樞可以使用識別條件,將任何用戶端應用程式與應用程式群組產生關聯。

如下所示,您可以根據每個用戶端應用程式使用的安全性內容來建立應用程式群組。 因此,應用程式群組可以使用相同的安全性內容跨越多個用戶端應用程式。

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage.

應用程式群組與取用者群組沒有直接關聯。 根據應用程式群組識別碼,例如安全性內容,一個取用者群組可以有一或多個與其相關聯的應用程式群組,或一個應用程式群組可以跨越多個取用者群組。

下列為應用程式群組的主要屬性:

參數 描述:
NAME 應用程式群組的唯一名稱。
clientAppGroupIdentifier 將應用程式群組與唯一識別條件建立關聯 (例如 SAS 原則或 Microsoft Entra 應用程式識別碼等安全性內容)。
原則 原則清單,例如控制用戶端應用程式與事件中樞命名空間之間事件串流的節流原則
isEnabled 判斷應用程式群組的用戶端應用程式是否可以存取事件中樞命名空間。

應用程式群組原則

每個應用程式群組都可以包含零個或多個原則,用於控制屬於應用程式群組一部分的用戶端應用程式資料平面存取權。 應用程式群組目前支援節流原則。

節流原則

您可以使用不同的輸入和輸出計量來指定節流原則。 應用程式群組支援使用下列計量來節流用戶端應用程式的輸入或輸出工作負載。

參數 描述
IncomingBytes 發行者輸送量 (位元組/秒)。
OutgoingBytes 取用者輸送量 (位元組/秒)。
IncomingMessages 每秒發佈的事件數量。
OutgoingMessages 每秒取用的事件數量。

套用應用程式群組的原則時,用戶端應用程式工作負載可能會變慢或發生伺服器忙碌的例外狀況。

節流原則 - 閾值限制

下表顯示您可以在節流原則中針對不同計量識別碼設定的最小閾值限制:

計量識別碼 下限
IncomingByte 1 KB
OutgoingByte 1 KB
IncomingMessage 1
外寄郵件 1

注意

在節流原則閾值上設定的限制,會優先於針對 Kafka 主題屬性設定的任何值。 例如,IncomingBytes 優先順序高於 message.max.bytes
應用程式群組節流預期會節流高於允許的流量案例 (跨越幾分鐘)。流量中的快速高載數秒可能無法透過應用程式群組進行節流。 建議您查看允許的輸送量在幾分鐘后的時間範圍,以驗證節流。

通訊協定支援和錯誤碼

應用程式群組支援透過下列通訊協議進行的節流作業 – AMQP、Kafka 和 HTTP。 下表提供應用程式群組所傳回的預期錯誤碼:

通訊協定 作業 錯誤碼 錯誤訊息
AMQP 傳送 50004 SubCode:50013,應用程式群組會使用應用程式群組識別碼和原則名稱進行節流
HTTP 傳送 503 子代碼: 50013。 應用程式群組會使用應用程式群組識別碼和原則名稱進行節流
Kafka 傳送 PolicyViolation 訊息代理程式: 違反原則

由於通訊協定層級的限制,接收作業期間不支援錯誤訊息。 當應用程式群組對接收作業進行節流時,您會在取用者端遇到訊息耗用量緩慢的情況。

停用應用程式群組

預設系統會啟用應用程式群組,這表示所有用戶端應用程式都可遵循應用程式群組原則存取事件中樞命名空間,進行發佈和取用事件。

停用應用程式群組時,用戶端仍然可以連線到事件中樞,但授權將會失敗,然後用戶端連線關閉。 因此,您會看到許多成功的開啟和關閉連線,診斷記錄中的授權失敗數目相同。

下一步

如需如何建立和管理應用程式群組的指示,請參閱使用 Azure 入口網站針對用戶端應用程式資源控管