![](/img/trans.png)
[英]Azure ServiceBus multiple listeners on same machine not working
[英]Azure ServiceBus - same message read multiple times
我們在多次讀取來自 Azure ServiceBus 的消息時遇到了一些問題。 以前我們遇到過同樣的問題,結果是由於鎖定超時。 然后,隨着鎖定超時,消息被再次讀取,每次讀取消息時,它們的 deliveryCount 增加 1。 在此之后,我們將最大傳遞計數設置為 1 以避免重新發送消息,並將鎖定超時時間增加到 5 分鍾。
當前的問題要奇怪得多。
首先,在 10:45:34 讀取消息。 消息鎖設置為 10:50:34,deliveryCount 為 1。讀取成功,在 10:45:35.0。 到目前為止一切都很好。
但是,在 10:45:35.8,再次讀取相同的消息! 並且發送計數仍然是1。兩個接收日志中的序列號和消息id都相同。 這種情況發生在很小比例的消息中,例如 0.02% 的消息。
據我所知,讀取消息應該導致成功刪除消息,或者增加 deliveryCount,在我的情況下應該將消息發送到 DLQ。 在這些情況下,兩者都不會發生。
我正在使用 ServiceBusTrigger,如下所示:
[FunctionName(nameof(ReceiveMessages))]
public async Task Run([ServiceBusTrigger(queueName: "%QueueName%", Connection = "ServiceBusConnectionString")]
string[] messages,
這似乎是服務總線或圖書館中的錯誤,對它可能是什么有任何想法嗎?
那不是 SDK,而是特定實體。 聽起來該實體已損壞。 刪除並重新創建它。 如果這沒有幫助,請打開支持案例。
另一方面,大多數情況下,當交付計數設置為 1 時,表明某些情況不正常。 如果您確實需要最多一次交付保證,請使用ReceiveAndDelete
模式而不是PeekLock
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.