Windows Azure Service Bus Queues复制检测如何工作?

Ros*_*nal 10 duplicates servicebus azure detection

我知道您可以设置重复检测以使用天蓝色服务总线队列在一段时间内工作.但是,是否有人知道这是否基于队列中的对象?

因此,如果我有一个id为"SO_1"的对象被放入队列并随后被消耗,那么重复检测是否仍然有效?

我想我要问的是 - 是时间框架和对象,还是只是让队列决定什么是重复的时间框架?

use*_*170 15

http://blog.iquestgroup.com/en/windows-azure-service-bus-duplicate-detection/#.UaiXrd7frIU

当我们激活复制时,Windows Azure Service Bus将开始存储我们的消息的历史记录.这段时间可以配置为从几分钟到几天不等.如果向服务总线发送重复消息,则服务将自动忽略该消息.

  • 非常感谢-上一篇文章很有帮助,但仍然没有说重复检测是否在确定是否转储该项目之前先检查该项目是否确实在队列中。我猜不是-它只保留一个重复列表并对其进行检查,并忽略队列的内容。在找到明确答案之前,我将一直保持这个问题。 (2认同)

小智 6

发布此内容是为了澄清上述回复中的一些误解,

  1. 启用重复检测有助于跟踪在指定时间窗口内发送到队列或主题的所有消息的应用程序控制的 MessageId。如果在时间窗口内发送任何带有已记录的 MessageId 的新消息,则将消息报告为已接受(发送操作成功),但新发送的消息会立即被忽略并丢弃。除了 MessageId 之外,不考虑消息的其他部分。(其中一个回复中引用的博客说消息内容不能重复,这是不正确的)。

  2. 现在重复检测时间历史的默认值是 30 秒,该值的范围可以在 20 秒到 7 天之间。

有关更多详细信息,请参阅此文档