将Azure Service Fabric服务映射到特定节点类型

时间:2016-04-19 18:09:26

标签: azure azure-service-fabric

在Service Fabric应用程序VS模板中创建服务(或Reliable Actors中的actor)是毫不费力的。在Azure门户中定义节点类型也很容易。但是,如何映射服务/ actor以在特定节点类型上运行?

2 个答案:

答案 0 :(得分:5)

您可以使用展示位置约束来实现这一目标。

有关详细信息,请参阅this文章的“展示位置约束和节点属性”部分。

简而言之,您需要在群集上设置展示位置属性,然后使用StatefulServiceDescription.PlacementConstraints在服务上设置展示位置约束。

答案 1 :(得分:2)

以下是在ApplicationManifest.xml中执行此操作的声明方式:

<ServiceTypes>
  <StatelessServiceType ServiceTypeName="Stateless1">
    <PlacementConstraints>(NodeTypeName==BackEnd)</PlacementConstraints>
  </StatelessServiceType>
</ServiceTypes>

您可以使用参数在不同的环境中使用不同的约束:

<Service Name="Stateless1">
  <StatelessService ServiceTypeName="Stateless1Type" InstanceCount="[Stateless1_InstanceCount]">
    <SingletonPartition />
    <PlacementConstraints>[Stateless1_PlacementConstraints]</PlacementConstraints>
  </StatelessService>
</Service>

可以在应用程序参数文件(Cloud.xml,Local5Node.xml等)中重新定义Stateless1_PlacementConstraints。

更多细节: https://brentdacodemonkey.wordpress.com/2016/09/11/placement-constraints-with-service-fabric/