我使用 RabbitMQ 已經有一段時間了,現在我正在嘗試使用 Azure 服務總線。目前我真的很困惑,我找不到像 RabbitMQ 中那樣的自動洗掉功能。如果在指定時間內沒有任何佇列操作,我發現只有自動洗掉間隔,但這絕對是另一種東西。
自動洗掉(當最后一個消費者退訂時洗掉至少有一個消費者的佇列)
^^ 來自 RabbitMQ 檔案
有什么方法可以使用 azure 服務總線設定此類功能?或者你知道一些技巧嗎?或者,也許微軟計劃在未來的版本中實作這個功能?
當我需要這個功能時,我可以解釋這個案例:我有 1 個佇列,有多個消費者。只有當所有消費者都取消訂閱時,我才應該洗掉這個佇列(簡單,對),所以我不能為每個消費者呼叫洗掉這個佇列。它應該只發生在最后一個消費者身上。
看起來我必須撰寫一些糟糕的代碼來同步我所有的消費者與洗掉佇列操作,但我真的不想這樣做。
我調查了一些類似的問題(Detect and Delete Orphaned Queues, Topics, or Subscriptions on Azure Service Bus),它與我的問題相似,但很老了。所以我希望從這次開始會有一些新的東西......
還有其他解決方案嗎?
uj5u.com熱心網友回復:
您正在尋找的功能稱為AutoDeleteOnIdle. 您可以在佇列和主題上設定它。如果在 5 分鐘內(或更長時間,取決于您的物體的定義)沒有連接,則該物體將被洗掉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458740.html
