Dis*_*ile 0 azure-service-fabric
我有一个Service Fabric应用程序,下面有一些服务.他们目前都在1.0.0版本.
我为版本2.0.0的集群部署了一个更新.一切运行正常,部署成功.我注意到一个非常大但在版本中.有没有办法手动回滚到1.0.0版?我发现的唯一一件事是在升级过程中自动回滚.
马特的回答是正确的,但我会在这里详细说明.
关键是要了解应用程序部署期间的不同步骤:
Visual Studio将这些内容整合到单个"发布"和"升级"操作中,以使其变得简单方便.但这些实际上是Service Fabric管理API中的单个命令(通过PowerShell,C#或HTTP).让我们快速看看这些步骤是什么:
复制:这只是获取已编译的应用程序包并将其复制到群集.没什么大不了.
注册:这是您案件中的重要一步.Register基本上告诉集群它现在可以创建应用程序的实例.最重要的是,您可以注册同一应用程序的多个版本.此时,您的应用程序尚未运行.
创建:这是已注册应用程序的实例创建并开始运行的位置.
在我们升级之前,让我们看一下群集上的内容.第一次使用应用程序的1.0.0版本(称为FooType)完成此部署过程时,您将只注册一种类型:
FooType 1.0.0
现在你准备升级了.首先将新应用程序包与新版本(2.0.0)一起复制到群集.然后,您注册新版本的应用程序.现在您注册了该类型的两个版本:
FooType 1.0.0
FooType 2.0.0
然后,当您运行升级命令时,Service Fabric将获取1.0.0的实例并将其升级到2.0.0.如果在升级完成后需要将其回滚,则只需使用相同的升级命令将应用程序实例从2.0.0"升级"回1.0.0.您可以这样做,因为1.0.0仍在群集中注册.请注意,版本号实际上对Service Fabric没有意义,只是它们是不同的字符串.如果我愿意,我可以使用"orange"和"banana"作为我的版本字符串.
因此,关键是当您从Visual Studio进行"发布"以升级您的应用程序时,它正在执行所有这些步骤:它是复制,注册和升级.在您的情况下,您实际上并不想重新注册1.0.0,因为它已经在群集上注册.您只想再次发出升级命令.
有关更长的解释,请参阅:Azure ServiceFabric的蓝/绿部署
| 归档时间: |
|
| 查看次数: |
1601 次 |
| 最近记录: |