kum*_*mar 2 azure-service-fabric
我看到网络实例计数设置为-1。-1是什么意思?
<Parameter Name="Web1_InstanceCount" Value="-1" />
Run Code Online (Sandbox Code Playgroud)
在您的示例中,-1表示仅一个参数值,在上下文中它并不表示任何值。通过变量的名称,它是可能在ApplicationManifest.xml上的服务声明上使用的参数。
您可能会有这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="MyAppTypeName" ApplicationTypeVersion="1.0.0" xmlns=...>
<Parameters>
<Parameter Name="Web1_InstanceCount" Value="-1" />
<Parameter Name="FEPlacementConstraints" Value="NodeTypeName==FrontEnd" />
</Parameters>
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="MyServicePkg" ServiceManifestVersion="1.0.0" />
<ConfigOverrides />
</ServiceManifestImport>
<DefaultServices>
<Service Name="Web1">
<StatelessService ServiceTypeName="MyServiceType" InstanceCount="[Web1_InstanceCount]">
<SingletonPartition />
<PlacementConstraints>[FEPlacementConstraints]</PlacementConstraints>
</StatelessService>
</Service>
</DefaultServices>
</ApplicationManifest>
Run Code Online (Sandbox Code Playgroud)
如果您注意的话,则在开始时定义参数,并在底部在声明服务时使用由[]括起来的参数。
现在,关于值-1的含义。
-1是动态实例计数,这意味着命名服务(Web1)的实例数将随着可用的有效节点数而动态扩展。在这里注意“可用的有效节点”而不是“所有节点”
为什么有可用的有效节点?
您可以在这里找到更多信息
Service Fabric 群集由一个或多个节点组成(出于测试/开发目的,它可以有 1 或 3 个节点,生产环境通常有 >= 5 个节点)。当部署Web1服务时,它将在x个节点上运行,其中x由Web1_InstanceCount的值确定。
当 to 值设置为 -1 时,服务将部署到所有节点。
流量将以循环方式路由到在节点上运行的 Web1 实例之一。
我强烈建议阅读文档的这一部分。
通过创建或删除无状态服务实例进行扩展
在 Service Fabric 中进行扩展的最简单方法之一是使用无状态服务。创建无状态服务时,您有机会定义 InstanceCount。InstanceCount 定义服务启动时创建的服务代码的运行副本数量。例如,假设集群中有 100 个节点。我们还假设创建的服务的 InstanceCount 为 10。在运行时,这 10 个正在运行的代码副本可能都变得太忙(或者可能不够忙)。扩展工作负载的一种方法是更改实例数量。例如,某些监视或管理代码可以将现有实例数量更改为 50 或 5,具体取决于工作负载是否需要根据负载进行扩展或扩展。
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |