Azure Service Fabric中使用IReliableQueue的悲观锁定机制

时间:2017-10-04 01:20:28

标签: azure-service-fabric

我知道对于Service Fabric中的IReliableQueue,每个事务的锁定范围。我有一个要求,一旦在事务中从ReliableQueue读取数据,我需要将数据传递回我的客户端并保持对该数据的锁定一段时间,如果处理在客户端失败,则写入数据返回队列(最好是在头部,以便在下一次迭代中首先选择它)。

2 个答案:

答案 0 :(得分:0)

Service Fabric不支持此功能。我建议您考虑使用外部排队机制。例如,Azure Service Bus Queues提供您描述的功能。

您可以使用this package在服务中接收SB消息。

答案 1 :(得分:0)

  

保留对该数据的锁定一段时间

我们在其他情况下使用可修改列表和文档字段LockedUntillUtc(初始化为mininimum或null,或使用不同的可靠锁定密钥集合(在LockedUntillUtc上排序?)成功也做了一次或两次 - 哪个最好满足您的需求?)。

如果你不相信你的客户遵守这样的锁定请求和写入/取消锁定请求合同,请考虑ETag模式 - 仅在成功锁定请求时返回...