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