版本选择器策略

当群集中存在同一粒度接口的多个版本,并且必须创建新激活时,将根据 GrainVersioningOptions.DefaultVersionSelectorStrategy 中定义的策略选择兼容版本

随时可用的 Orleans 支持以下策略:

所有兼容版本(默认)

使用此策略,将在所有兼容版本中随机选择新激活的版本。

例如,如果给定粒度接口有 2 个版本,即 V1 和 V2:

  • V2 与 V1 向后兼容
  • 在群集中,2 个接收器支持 V2,8 个接收器支持 V1
  • 请求是从 V1 客户端/接收器发出的

在这种情况下,新激活是 V2 的可能性为 20%,新激活是 V1 的可能性为 80%。

最新版本

使用此策略,新激活的版本将始终是最新的兼容版本。 例如,如果给定粒度接口有 2 个版本,即 V1 和 V2(V2 与 V1 向后或完全兼容),则所有新激活都将是 V2。

最低版本

使用此策略,新激活的版本将始终是请求的兼容版本或最小的兼容版本。 例如,如果给定粒度接口有 2 个版本,即 V2 和 V3(完全兼容):

  • 如果请求是从 V1 客户端/接收器发出的,则新激活将是 V2
  • 如果请求是从 V3 客户端/接收器发出的,则新激活也将是 V2