[英]How AZURE Service Bus rules with messages on subscription?
我不明白
說我有一個問題,一個主題,一個訂閱。 以及三個訂閱的客戶。
我發送一條消息。
第一個客戶端收到一條消息,並調用complete()操作。
第二個客戶會收到消息嗎?
如果有第四位客戶(誰訂閱了)怎么辦?
問題是-何時將郵件從queve / topic / subscription中完全刪除?
PS“一對一”時的情況-很明顯。
我建議您查看“競爭消費者”模式。 ( https://msdn.microsoft.com/zh-cn/library/dn568101.aspx?f=255&MSPPError=-2147217396 )。
您可以具有許多角色(即Azure工人角色)來檢查隊列中的消息(競爭使用者),並在處理時將其鎖定。 每個角色都在爭取一個信息,而第一個抓住它的人(偶然地)暫時擁有它。 如果獲取並處理該消息的使用者成功,請運行Complete()方法,否則運行Abandon(message)。 Complete()永久完成了它,而Abandon則將其重新投入到競爭消費者的狂熱中。 如果您健康的話,甚至可以再抓一次!
您可以在Azure管理門戶中設置無效消息參數,該參數確定可以為其他使用者重新引入該無效消息的次數。 在某些時候,一切都無法正常進行,因此請殺死該消息,以便其他消息可以不受阻礙地恢復。
如果您有更具體的需求,請告訴我。 樂意提供幫助。 這種模式非常好用。
最親切的問候...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.