Azure service fabric Azure服务结构

Azure service fabric Azure服务结构,azure-service-fabric,Azure Service Fabric,请帮助我了解,azure服务结构中是否有延迟取消提供的选项?我在fabric中托管了一个微服务应用程序,它分布在不同节点的实例中。如果我尝试从门户断开/取消提供服务,服务结构是否可以在内部检查任何事务是否正在进行任何实例,如果它已参与,它是否会等待完成它?还想知道,如果microsoft不提供此类服务,我们是否有任何powershell命令来检查实例状态 谢谢我假设“从门户断开/取消提供服务”指的是通过service Fabric Explorer web app(可能是通过门户后面的链接)删除

请帮助我了解,azure服务结构中是否有延迟取消提供的选项?我在fabric中托管了一个微服务应用程序,它分布在不同节点的实例中。如果我尝试从门户断开/取消提供服务,服务结构是否可以在内部检查任何事务是否正在进行任何实例,如果它已参与,它是否会等待完成它?还想知道,如果microsoft不提供此类服务,我们是否有任何powershell命令来检查实例状态

谢谢

我假设“从门户断开/取消提供服务”指的是通过service Fabric Explorer web app(可能是通过门户后面的链接)删除服务。如果这是错误的,请纠正我

为了直接回答您的问题,框架不会在服务删除期间等待飞行中的操作完成。该服务的每个副本都将丢失其读写权限,从而导致所有正在运行的操作失败。我们不提供在此步骤中暂停的方法,例如,允许完成当前打开的事务

我们不提供这种语义的原因是,服务删除预期是罕见的或永久性的,并且延迟删除最终操作不会启用任何其他场景。在任何一种情况下,如果客户端试图对要删除的服务执行操作,则:

  • 由于删除和撤消读/写权限,最后一个客户端操作可能会失败
  • 由于服务不再存在,每个后续客户端操作都将失败
  • 由于删除延迟,最后一个客户端操作将成功
  • 由于服务不再存在,每个后续客户端操作都将失败

  • 我们的期望是,任何客户端或从属服务在删除其所依赖的服务之前都应该已经更新或删除,因为您正在做出永久性的决定,即该服务不应该再存在。

    除此之外,我们发现将引用复制到给定给RunAsync方法的cancellationToken并在所有异步方法中使用它是很有用的。因此,至少我们可以在结构关闭服务时优雅地关闭任何活动。