控制Azure SF应用程序中的服务



我的Azure SF应用程序有两个服务。当我将应用程序部署到本地群集时,是否只能部署其中一种服务,而不是两者(服务(?

是的,您可以非常明确地控制它。

在您的ApplicationManifest中,您添加了许多默认服务,这些服务是从添加到您的应用程序的服务中自动化的。当您(隐式(从Visual Studio(或VSTS(部署时,您会使用自动添加到应用程序项目的Deploy-FabricApplication.ps1脚本。该脚本同时完成了许多事情。即:

  1. reads and parses Publisher配置文件文件以获取所选目标的参数值(例如云,local1node,local2node等(

  2. 用新版本号上传 applicationType 的群集图像存储。

  3. 基于新图像和版本创建或升级应用程序实例,并在ApplicationManifest中为每个默认服务器创建或升级一个实例

现在,您可以自己执行所有这些步骤,具体来说,您可以选择用于启动实例的服务。

您可以使用PowerShell(或CLI(CMDLET或通过.NET代码使用织物。

您需要做的是(对于PowerShell,但对于织物的类似(是:

  • 连接到群集连接 - 服务面料群集
  • 使用Copy-ServiceFabricapplicationPackage
  • 将应用程序软件包复制到集群中
  • 如果是新的 - 注册申请类型,请使用寄存器 - 服务面料应用程序类型
  • - 或 - 升级使用Start-Service Fabric应用程序升级的存在的升级
  • 对于每个服务,您要创建一个实例(是的,您可以在同一应用程序中创建同一服务的多个实例,并且使用NectelessService与 instances 不同(新服务面料服务

所有这是(很多(工作,而不仅仅是使用提供的deploy-fabricapplication.ps1,它使您可以完全控制如何以及何时部署服务。也有必要执行此操作,例如,如果您想在同一群集上运行同一应用程序的多个租户,或在同一群集上运行同一应用程序的多个版本/环境(例如,在同一群体上运行开发和测试群集(

最新更新