为什么微服务升级后可靠集合为空,不调用事件 OnDataLossAsync 从外部备份恢复状态?
我们有基于有状态服务的大规模系统
<StatefulServiceType ServiceTypeName="UserServiceType" HasPersistedState="true" />
HasPersistedState 设置为 true,并且数据跨副本复制,以防 VM 故障数据仍然有效并使用 OnDataLossAsync 进行恢复,但升级后集合为空。
我已经尝试了所有升级选项(删除、保留、自动升级)应用程序,结果相同 - 集合为空。
目前我们决定将数据复制到 blob 存储并在服务更新后恢复它,这不是完美的解决方案,数据恢复需要几分钟,并且在此期间会导致某些服务不可用/不一致。
因此,我们正在寻找允许在升级后保存数据的解决方案。