【发布时间】:2020-04-23 09:08:30
【问题描述】:
我们正在构建一个系统,为所有客户预先计算所有价格。根据我们 ERP 中的某些触发因素(例如价目表更改),我们会将所有受影响的客户编号放入一个队列中,监听该队列的 Azure 函数将重新计算该特定客户的价格。
示例:对价目表进行了更改,并且用户单击了保存。 3000 名客户受到此更改的影响并被添加到计算队列中。如果计算需要两秒钟,我们可以并行进行 10 次计算,最后一个客户的价格将在 3000*2/10=600 秒后完成。当客户编号在队列中等待时,用户进行另一项更改并单击保存。在这种情况下,我们希望排除添加队列中已经存在的所有客户编号。
问题:Azure 服务总线队列具有重复检测功能,但这是基于时间的。如果队列中已经有另一条具有相同内容的消息,是否有其他方法可以避免将消息添加到队列中?
注意:所有其他资源都在 Azure 中,因此我们只关注基于 Azure 的队列和事件解决方案。
【问题讨论】:
标签: azure azure-servicebus-queues azure-eventgrid