我想知道我是否有可能在服务结构集群中的任何特定节点中部署结构应用程序。即在一个节点中,只应部署一个应用程序。 如果InstanceCount =" 1",它正在一个节点中部署,但是任何其他应用程序也可以部署在同一个节点中。如果我有5个应用程序,如果集群中有5个节点,则每个节点都应该只有一个申请。 在将其部署为解决方案之前,我可以在代码中的任何位置提及节点名称吗?
答案 0 :(得分:3)
应用程序只是逻辑容器,部署单元。它们与节点无关。服务(副本和实例)是。
通常,如果在群集上放置5个应用程序,群集将自动在所有节点上分发服务。
您可以使用名为placement constraints的功能将服务放入指定的节点。
在明确需要的情况下限制服务展示位置是不明智的,因为:
自动平衡 - Service Fabric确保优化资源使用 添加展示位置约束会限制要平衡的选项。
复制 - Service Fabric跨节点复制来自有状态服务/角色的数据,以提高可用性并处理节点故障。 添加放置约束会限制复制选项。
高可用性 - Service Fabric可以检测节点故障并将您的服务移至健康节点。添加展示位置约束限制了移动服务的选项。
答案 1 :(得分:1)
“你通常不应该限制服务来运行单一服务 节点,因为这可以防止高可用性,你不应该 手动配置各个节点。 ......这是一种反模式 因为它将您的应用程序类型与您的环境相结合(如果 节点在不同的环境中以不同的方式命名?)并添加 额外的复杂性(因为现在你必须管理所有这些 应用参数)。“