我有一个 Service Fabric 应用程序,它有一个无状态 Web api 和一个有两个分区的有状态服务。无状态 web api 定义了一个 web api 控制器并用于ServiceProxy.Create
获取有状态服务的远程代理。远程调用将消息放入可靠队列。
有状态服务将每隔 X 分钟从队列中取出消息。
我正在查看 Service Fabric 资源管理器,过去几天我的应用程序一直处于错误状态。当我深入了解详细信息时,有状态服务出现以下错误:
错误事件:SourceId='System.FM',Property='State'。分区处于仲裁丢失状态。
查看资源管理器,我发现我的主副本已启动并正在运行,它看起来像一个 ActiveSecondary,但其他两个副本显示 IdleSecondary 并且它们继续进入 Standby / In Build 状态。我无法弄清楚为什么会这样。
我的其他辅助节点一直无法进入 ActiveSecondary 状态/导致此仲裁损失的一些原因是什么?