【问题标题】:Azure Service Fabric Actor Retry Logic on ExceptionAzure Service Fabric Actor 异常重试逻辑
【发布时间】:2016-11-08 02:41:53
【问题描述】:

我正在开发 Azure Service Fabric 解决方案。 我已经实现了一个具有某种状态的 Actor,一切正常。 谁能解释一下,如果在我的 Actor 实现中抛出用户异常会发生什么?如果对参与者的调用引发异常,Service Fabric 环境会做什么。是否有任何默认重试逻辑,强制再次调用?

【问题讨论】:

标签: azure-service-fabric


【解决方案1】:

如果演员抛出异常,它会在ActorRemotingExceptionHandlerIExceptionHandler 的其他默认实现中得到处理。目前,如果异常是与网络问题或集群或节点可用性无关的普通异常,它将在客户端重新抛出,您将能够处理它。

【讨论】:

  • 好的,在我的情况下,我在集群中托管了一个 WebApi 控制器。控制器调用具有某种状态的参与者。如果在我的 actor 实现中抛出了 Excption,那么对 actor 的调用将永远不会返回。在我的 LocalCluster 中一切正常,但在 Azure 集群中调用永远不会返回。
  • @M009 您确定在本地环境和 Azure 中存在相同类型的异常吗?您是否安装了相同版本的 SDK?你用的是最新的吗?
  • @M009 以及您遇到什么类型的异常?
  • 我发现了问题。我的 actor 实现中引发的异常是自定义异常,并且未标记为“可序列化”。我从 Service Fabric 内部得到了一些通信异常。默认重试逻辑确实总是再次执行参与者请求。
猜你喜欢
  • 2017-07-14
  • 2017-07-19
  • 2015-11-01
  • 2016-09-19
  • 2016-03-11
  • 2018-01-11
  • 2016-09-08
  • 2018-09-16
  • 2016-10-31
相关资源
最近更新 更多