簡體   English   中英

什么是 Azure Event Hub 中的消費者組?

[英]What is Consumer Group in azure Event Hub?

誰能弄清楚 Azure 事件中心中的消費者組是什么。 它有什么用? 我瀏覽了很多網站,但我無法得到明確的答案。

文檔

消費者組:整個事件中心的視圖(狀態、位置或偏移量)。 消費者組使消費應用程序能夠分別擁有事件流的單獨視圖。 他們以自己的節奏和自己的偏移量獨立讀取流。

圖表:

在此處輸入圖像描述

根據這個消費者組是邏輯上分離你的消費者的方式,所以他們只看到他們感興趣的事件。

將消費者組視為將一個或多個事件消費者組合為一組的標簽 它通常以消費者在應用程序中的責任命名(例如:“Telemetry”、“OrderProcessing”)。 創建事件中心時會創建一個名為“$Default”的默認使用者組。

就像前面的答案中提到的,消費者組允許多個應用程序擁有自己的事件流視圖,從而允許每個應用程序以自己的速度獨立讀取流。 例如,您可能有一個將事件數據寫入長期存儲的下游存儲寫入器應用程序,然后是另一個執行復雜事件處理的應用程序——這兩個應用程序將屬於兩個不同的消費者組。

由於Event Hubs 消費者與特定的 Event Hubs 和消費者組相關聯,如果您在構造EventHubConsumerClient時將相同的消費者組作為參數傳遞,那么這些客戶端將與同一消費者組相關聯(從而對事件消費者進行分組) :

var consumer = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);

請注意,如果您使用的是標准層服務,則只能擁有多個使用者組。

在 Azure 事件中心中, 使用者組是一種將並發讀取器數量限制到相同分區的方法。

它們沒有真正的目的,除了可能是一個實用的目的,它可以引導您避免從同一個系統或應用程序中多次讀取相同的事件。

還有一個定價方面是,要使多個應用程序訂閱相同的事件流,您可能需要升級到更好的計划(例如,基本計划只允許單個消費者組)。

正如其他人所指出的,該文檔將消費者群體解釋為“整個事件中心的視圖”。 然而,這種觀點沒有實際意義。

您可以在單個消費者組上運行 5 個不同的應用程序,但這可能不切實際,因為如果您需要它,這將無法擴展到第 6 個應用程序,因為每個消費者組的同一分區有 5 個並發讀取器的限制。

與 Kafka 消費群體的比較

Event Hub 消費者組與 Kafka 消費者組完全不同(在您閱讀主題時,偏移量會自動存儲)。

此處澄清: https ://github.com/Azure/azure-event-hubs-for-kafka#more-faq。

使用 Kafka API 時,事件中心確實支持 Kafka 消費者組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM