您將來自 100,000 個裝置的遙測資料擷取到 Azure Event Hub。您必須保留每個裝置的訊息順序,同時在多個分割區中維持高輸送量。傳送事件時,您應該怎麼做?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 將每個事件的 PartitionKey 設定為 deviceId,以便來自相同裝置的所有事件都落在相同的分割區中並保留順序。.
為什麼這是答案
正確答案是將每個事件的 PartitionKey 設定為 deviceId。Azure Event Hubs 使用分割區來實現高輸送量。當您為事件指定 PartitionKey 時,所有具有相同 PartitionKey 的事件都會被路由到相同的分割區。這確保了來自單一裝置的所有訊息都按其發送順序處理,從而保持了每個裝置的訊息順序。同時,由於不同的 deviceId 會被分配到不同的分割區,因此系統仍能利用多個分割區來維持高輸送量。 減少分割區數量到 1 會確保全域順序,但會嚴重限制輸送量,不符合高輸送量的要求。循環指定 PartitionId 無法保證特定裝置的訊息順序。消費者群組用於獨立讀取事件,與生產者端的順序保留無關。在消費者端檢查順序會增加複雜性,且無法解決生產者端亂序傳送的問題。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡