簡體   English   中英

Azure 事件中心 - 一條一條地消費消息

[英]Azure Event Hub - consuming messages one by one

即使我只處理了一個事件,我有例如 300 條傳出消息(取自 azure 事件中心指標)是否是所需的 state? 我很好奇如何僅在前一個事件被完全處理和檢查點存儲時才使用事件。

否則,如果消費者消費了多個消息,並且在 on_event 回調完成后設置了檢查點(在我的情況下,on_event 回調需要 10 秒),那么將另一個消費者添加到同一個消費者組並重新平衡分區所有權會導致消耗很多重復。

我知道 window 可能會發生重復,但我希望它們盡可能少。

僅供參考,我使用 python 同步消費者。

如果您真的想一一消費消息,那么事件中心不是正確的解決方案。 您應該使用Azure 服務總線隊列

事件中心不是為一一消息處理方案而設計的。 相反,它是為低延遲/高吞吐量而構建的。 您可能可以通過僅擁有一個分區(並且僅在一個消費者組中只有一個消費者)來接近,但如果檢查點失敗或類似情況,您將始終冒着處理已處理事件的風險。

如果您擔心重復,請注意大多數消息傳遞解決方案至少一次傳遞 model 消息( 來源)。 因此,請確保您的處理邏輯是冪等的。

暫無
暫無

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

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