我在Service Fabric中有一个具有多个分区和副本的有状态服务。我已对其进行了配置,以便Primary和ActiveSecondary副本都公开其端点。目的是让我可以利用辅助副本进行读取操作。
我遇到的问题是我希望能够告诉它的服务内部是Primary或ActiveSecondary,因为某些共享的默认代码不需要为辅助副本运行。 (因为在ReliableStateManager中插入默认值会抛出辅助节点。)
我可以在运行时确定副本角色吗?
答案 0 :(得分:3)
您可以覆盖OnChangeRoleAsync
并检查ReplicaRole
参数。请注意:
RunAsync
仅在主要副本上执行(如果角色更改,将取消) - 以便您可以安全地将初始化代码放在那里 Partition
ReadStatus
和WriteStatus