【发布时间】:2018-02-13 13:31:56
【问题描述】:
我有一个关于使用 a 的实现的问题:
- CosmosDB
- 服务总线 + DLQ
我有一个服务总线触发器,它触发、处理传入数据,然后使用 Upsert 将其存储在 CosmosDB 中。如果一条消息在处理过程中失败,我会将其存储在死信队列 (DLQ) 中,稍后将根据请求发送该队列。这可能会导致问题,即我将从 DLQ 重新发送一条(更旧的)消息,该消息将覆盖数据库中的“较新”对象。今天,我使用表来存储时间戳,以确保对象的最新更新时间。更好的方法是调查存储文档中的时间戳与传入 ServiceBus 消息中的入队时间属性,但这不适用于非持久性数据库。
是否有任何“更清洁”的方法来解决这个问题?
【问题讨论】:
标签: c# azure azure-sql-database azure-table-storage azureservicebus