Service Fabric Actors:使用最新版本的 Service Fabric nuget 包部署 Actors 时出现的问题

Posted

技术标签:

【中文标题】Service Fabric Actors:使用最新版本的 Service Fabric nuget 包部署 Actors 时出现的问题【英文标题】:Service Fabric Actors: Problems when actors are deployed with newest versions of Service Fabric nuget packages 【发布时间】:2018-11-06 20:22:54 【问题描述】:

昨天我创建了一个新的服务结构应用程序,包括一个新的 Actor。当我将它部署在本地服务结构集群上时,发布状态为“成功”。 但问题是,当我继续使用 Service Fabric 集群时,我可以看到参与者处于“错误”健康状态。 我可以向您显示有关诊断事件和 Server Fabric Explorer 的错误消息:

Service Fabric Cluster Explorer [IMAGE]

Diagnostic Events errors [IMAGE]

为了向您展示我的问题,我使用 Visual Studio 创建的常用 actor 示例创建了一个简单的解决方案,它应该可以正常工作。 我创建了一个 .Net Core 2.0 Actor Service。 Actor Service

actor使用的nuget包有:

Microsoft.ServiceFabric (6.2.274)

Microsoft.ServiceFabric.Actors (3.1.274)

Microsoft.ServiceFabric.Data (3.1.274)

Microsoft.ServiceFabric.Services (3.1.274)

我的 Visual Studio 使用版本 15.7.2,Service Fabric 运行时使用最新版本 6.2.274.9494

我还有另一个解决方案,它与演员一起使用具有先前版本的 nuget 包,可以正确部署并在服务结构上工作。

当我将服务结构包更新到最新版本时,服务结构资源管理器上的参与者出现错误。 所以我可以推断这些错误可能是由最新版本的 service fabric nuget 包产生的。

最好的问候,

亚历山大

【问题讨论】:

确保您的服务结构升级模式设置为自动 - snag.gy/ROcSQ5.jpg 我的本地 Service Fabric 群集上没有该选项,该群集安装在我自己的计算机上 6.2/3.1 软件包不向后兼容 6.1/3.0 SDK,这将导致演员无法启动。你能确定你真的使用的是最新的 SDK 并重启了机器和集群吗? 【参考方案1】:

这似乎是 .NET Core 2.0.5 之前版本的问题。 安装最新的运行时(当前为 2.1.1)并更改服务结构参与者项目以使用它解决了该问题。

【讨论】:

以上是关于Service Fabric Actors:使用最新版本的 Service Fabric nuget 包部署 Actors 时出现的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何为远程 Service Fabric 集群创建 Actor 代理

Service Fabric Actor 备份适用于 1 个参与者,而其他所有参与者都失败

如何重新启动 Service Fabric 规模集计算机

Service Fabric 来宾可执行文件托管和优雅停止

从 Powershell 部署 Service Fabric 应用程序,无需 Service Fabric SDK

Service Fabric 反向代理 - 404 - FABRIC_E_SERVICE_DOES_NOT_EXIST