创建应用程序实例(在 Service Fabric Cluster Explorer 中)忽略本地计算机上的实例数
Create app instance (in service fabric cluster explorer) ignores number of instances on local machine
- 使用 5.1.163 版本的 service fabric 运行 次。
- 使用一个无状态 Web api 创建了一个服务结构应用程序(即使用 owin 通信侦听器)。
- 修改了生成的代码,以便侦听端点包含分区 id/instance id/new_guid(就像有状态服务的情况一样)。这应该允许我创建另一个应用程序实例,以便我可以在应用程序级别拥有多租户。
- 默认情况下,Local.xml 文件为此服务设置为 1 个实例。
- 已按 F5 将其部署到本地计算机。已验证它仅部署到一个实例。
- 已验证服务工作正常。
- 导航到本地服务架构资源管理器并单击 Cluster/Application/AppType 节点。单击 'Create app instance'。
- 它成功创建了第二个应用程序实例。
- 但是在这个新实例中,服务部署到所有 5 个节点。
我原以为它只将服务实例部署在一个节点上。这是一个错误吗?但只在这个版本的服务结构中?
当您使用 Visual Studio(或从 PowerShell)部署 Service Fabric 应用程序时,您使用为您的应用程序生成并在 SF 项目下的 /scripts
中找到的 Deploy-FabricApplication.ps1
。这个脚本做了两件事(主要):
- Create/update 申请类型
- 创建应用程序类型的 new/upgrade 现有实例
第二部分类似于您在 SF Explorer 中所做的,除了这一部分还考虑了您提供的发布者配置文件。 PS-脚本实际上读取您的发布者资料 xml 文件并将其中的任何参数提取到哈希集(字典)并将其作为参数传递到步骤 2.
您可以使用 PS cmdlet 创建 SF 应用程序类型的实例(或者您可以使用 FabricClient)。以下命令执行此操作:New-ServiceFabricApplication。在这里,您有机会提供自己的应用程序参数,包括 instance count
用于新应用程序实例中的服务(如果您的应用程序清单中有动态参数)。
因此,当您使用 SF 资源管理器创建新的应用程序实例时,您无法控制该实例的创建方式,它始终使用直接在 ApplicationManifest.xml 中指定的默认参数值,而不是您拥有的值在您的发布者配置文件(local1、local5、cloud 等)中指定。
为了控制创建,运行 New-ServiceFabricApplication
将您的参数作为哈希集。
- 使用 5.1.163 版本的 service fabric 运行 次。
- 使用一个无状态 Web api 创建了一个服务结构应用程序(即使用 owin 通信侦听器)。
- 修改了生成的代码,以便侦听端点包含分区 id/instance id/new_guid(就像有状态服务的情况一样)。这应该允许我创建另一个应用程序实例,以便我可以在应用程序级别拥有多租户。
- 默认情况下,Local.xml 文件为此服务设置为 1 个实例。
- 已按 F5 将其部署到本地计算机。已验证它仅部署到一个实例。
- 已验证服务工作正常。
- 导航到本地服务架构资源管理器并单击 Cluster/Application/AppType 节点。单击 'Create app instance'。
- 它成功创建了第二个应用程序实例。
- 但是在这个新实例中,服务部署到所有 5 个节点。
我原以为它只将服务实例部署在一个节点上。这是一个错误吗?但只在这个版本的服务结构中?
当您使用 Visual Studio(或从 PowerShell)部署 Service Fabric 应用程序时,您使用为您的应用程序生成并在 SF 项目下的 /scripts
中找到的 Deploy-FabricApplication.ps1
。这个脚本做了两件事(主要):
- Create/update 申请类型
- 创建应用程序类型的 new/upgrade 现有实例
第二部分类似于您在 SF Explorer 中所做的,除了这一部分还考虑了您提供的发布者配置文件。 PS-脚本实际上读取您的发布者资料 xml 文件并将其中的任何参数提取到哈希集(字典)并将其作为参数传递到步骤 2.
您可以使用 PS cmdlet 创建 SF 应用程序类型的实例(或者您可以使用 FabricClient)。以下命令执行此操作:New-ServiceFabricApplication。在这里,您有机会提供自己的应用程序参数,包括 instance count
用于新应用程序实例中的服务(如果您的应用程序清单中有动态参数)。
因此,当您使用 SF 资源管理器创建新的应用程序实例时,您无法控制该实例的创建方式,它始终使用直接在 ApplicationManifest.xml 中指定的默认参数值,而不是您拥有的值在您的发布者配置文件(local1、local5、cloud 等)中指定。
为了控制创建,运行 New-ServiceFabricApplication
将您的参数作为哈希集。