Service Fabric长期回调

时间:2015-12-11 00:43:13

标签: azure-service-fabric

我正在努力找出开发服务的最佳模式,该服务可以维持某种长期回调策略。例如,我们说我有服务DoLongThingService。当您在此服务上调用.Begin时,它会安排执行一些长时间的过程。当过程完成后,我需要它来唤醒第一个服务。基本上是长期工作流程类型的东西。

这实际上与演员合作很好。因为我可以将ActorReference传递给DoLongThingService.Begin方法,并且该服务可以Bind该actor,并在其上调用方法来表示完成。

但是当我不使用Actors的时候呢?如何将对一个服务的引用传递给另一个服务?第一项服务将是有状态的,因此它可以跟踪它的未完成请求。但是,可能存在多个有状态服务的实例。那么如何才能将响应恢复到正确的状态呢?

1 个答案:

答案 0 :(得分:0)

服务URI和分区键可以唯一地标识系统中服务的分区。您可以使用它来使用ServicePartitionResolver解析服务地址,或者如果您的服务实现了IService,您可以使用此信息来创建类似ActorProxy的ServiceProxy并将方法调用返回给服务。