如何解决能否添加或删除 Service Fabric 有状态服务命名分区
文档中提到,在服务部署后,我们无法更改服务结构有状态服务的分区计数。如果使用命名分区,情况是否类似。我们能否在有状态服务的生命周期内向其添加或删除新的命名分区,是否有副作用?
解决方法
作为一般规则,不能在创建服务后修改分区,无论您如何处理它(例如 Int64、Named 或 Singleton)。该定义在您的 ApplicationManifest.xml 中指明,不应更改。
也就是说,如果您在最初设计解决方案时错误地估计了分区数,则没有什么特别的理由不能简单地使用新实现的分区数创建服务的 v2,并在其中引入逻辑或创建一个 (可能是单例)无状态迁移服务,将您的数据从一项服务移动到另一项服务,在您认为合适的情况下在分区之间映射数据。
迁移后,您可以在任一服务中保存状态备份(以防万一),更新解决方案中的引用以指向新服务并删除旧服务。
它不像某些提供的迁移经验那么干净,但它确实完成了工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。