我目前正在使用Azure.Messaging.ServiceBus .net SDK将高吞吐量的消息批量发送到ASB标准。在模拟间歇网络连接的情况下,通过在高吞吐量批发送期间关闭internet,我们观察到有一些额外的消息被传递到ASB。在ASB门户中观察到的队列计数与我们的日志不匹配。ASB会发生这种情况吗?注意,我们已经为客户端启用了重试策略。我遇到了一个类似的StackOverflow 线程,我想知道与此相关的最新进展。
发布于 2022-03-14 16:44:44
是的,服务巴士的保证至少是一次.当发布失败时,如果状态不明确,并且被重试,复制是可能的。使用重复检测特性可以帮助防范这种情况,但要求应用程序负责分配唯一的MessageId值。
如果接收到一条消息并没有解决,也可能出现重复。一旦它的锁过期,该消息就有资格再次被接收。接收消息的应用程序应确保处理是幂等的,并为副本设置任何所需的检测或防护措施。
https://stackoverflow.com/questions/71471154
复制相似问题