c# – 如何从现有备份恢复可靠服务状态?
发布时间:2020-12-15 22:35:31 所属栏目:百科 来源:网络整理
导读:我有一个状态服务,其备份逻辑根据 the corresponding documentation实现 就像这样: protected override async Task RunAsync(CancellationToken cancellationToken){ // ... while (true) { cancellationToken.ThrowIfCancellationRequested(); BackupDescr
我有一个状态服务,其备份逻辑根据
the corresponding documentation实现
就像这样: protected override async Task RunAsync(CancellationToken cancellationToken) { // ... while (true) { cancellationToken.ThrowIfCancellationRequested(); BackupDescription myBackupDescription = new BackupDescription(BackupOption.Full,this.BackupCallbackAsync); await this.BackupAsync(myBackupDescription); // ... await Task.Delay(TimeSpan.FromSeconds(1),cancellationToken); } } private async Task<bool> BackupCallbackAsync(BackupInfo backupInfo,CancellationToken cancellationToken) { var backupId = Guid.NewGuid(); // backup files copied to external storage here ... return true; } 文档建议只使用一种方法来恢复备份 – 使用OnDataLossAsync方法.但我不能激起对这个方法的援引. 所以,问题是:如果完全数据丢失,我如何从备份中恢复服务状态? 例如,所有服务结构群集节点都已销毁.我唯一拥有的是备份.重新部署后我应该怎么做才能恢复我的服务状态? 我检查了Service Fabric集群管理器的Data和Log目录,但数据格式与备份相比似乎有所不同. 解决方法
可以使用类似以下代码的服务触发Dataloss:
Connect-ServiceFabricCluster $s = "fabric:/WebReferenceApplication/InventoryService" $p = Get-ServiceFabricApplication | Get-ServiceFabricService -ServiceName $s | Get-ServiceFabricPartition | Select -First 1 $p | Invoke-ServiceFabricPartitionDataLoss -DataLossMode FullDataLoss -ServiceName $s 有一个示例显示了备份和还原在web reference sample中的工作方式,具体代码为here. 备份和还原的完整文档是here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |