版本选择器策略
当群集中存在同一粒度接口的多个版本,并且必须创建新激活时,将根据 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