Azure service fabric 确定服务结构中有状态副本的角色
我在具有多个分区和副本的服务结构中有一个有状态的服务。我已经对其进行了配置,以便主副本和ActiveSecondary副本都公开其端点。目的是使我能够利用辅助副本进行读取操作 我遇到的问题是,在服务内部,我希望能够判断它是主副本还是活动副本,因为一些共享默认代码不需要为辅助副本运行。(因为在ReliableStateManager中插入默认值会引发二级缓存。)Azure service fabric 确定服务结构中有状态副本的角色,azure-service-fabric,Azure Service Fabric,我在具有多个分区和副本的服务结构中有一个有状态的服务。我已经对其进行了配置,以便主副本和ActiveSecondary副本都公开其端点。目的是使我能够利用辅助副本进行读取操作 我遇到的问题是,在服务内部,我希望能够判断它是主副本还是活动副本,因为一些共享默认代码不需要为辅助副本运行。(因为在ReliableStateManager中插入默认值会引发二级缓存。) 我可以在运行时确定副本角色吗?您可以覆盖OnChangeRoleAsync并检查ReplicaRole参数。请注意: 在服务的生命周期
我可以在运行时确定副本角色吗?您可以覆盖
OnChangeRoleAsync
并检查ReplicaRole
参数。请注意:
- 在服务的生命周期内,角色可能会发生变化(例如,辅助角色升级为主角色)
仅在主副本上执行(如果角色更改,将被取消)因此您可以安全地将初始化代码放置在主副本上RunAsync
- 对于更高级的场景,您还可以检查
分区
的
和ReadStatus
WriteStatus
OnChangeRoleAsync
中当前的ReplicaRole
?它采用的参数是newRole
,但我想知道当前角色。