為什么我們需要一個用于 Eventhub 消費者客戶端的 Azure 存盤帳戶上的 blob 容器(我使用的是 python)。為什么我們不能像在 Kafka 中那樣直接使用來自 Eventhub(Kafka 術語中的主題)的訊息,或者可以以任何其他方式完成?
我正在關注下面鏈接的官方 Azure 檔案: https ://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-python-get-started-send
uj5u.com熱心網友回復:
您正在直接從事件中心使用訊息。存盤帳戶不以任何方式用作中間步驟或類似的東西。相反,存盤帳戶用于檢查點:
檢查點是讀取器在磁區事件序列中標記或提交其位置的程序。檢查點是消費者的責任,并在消費者組內的每個磁區的基礎上發生。這種責任意味著對于每個消費者組,每個磁區讀取器都必須跟蹤它在事件流中的當前位置,并且可以在它認為資料流完成時通知服務。
如果讀取器與磁區斷開連接,當它重新連接時,它會從該消費者組中該磁區的最后一個讀取器先前提交的檢查點開始讀取。當閱讀器連接時,它將偏移量傳遞給事件中心以指定開始閱讀的位置。通過這種方式,您可以使用檢查點將事件標記為下游應用程式“完成”,并在不同機器上運行的讀取器之間發生故障轉移時提供彈性。通過從這個檢查點程序中指定一個較低的偏移量,可以回傳到較舊的資料。通過這種機制,檢查點可以實作故障轉移彈性和事件流重放。
總結如下:存盤帳戶用于存盤有關閱讀器及其在磁區中的位置的資訊。
您可以撰寫自己的自定義檢查點存盤實作,請參閱這個問題:Is there a way to store the azure Eventthub checkpoint to a remote bucket 例如谷歌云存盤桶?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/492650.html
標籤:天蓝色 天蓝色的eventhub azure-eventhub-捕获
