配置要在哪个节点上运行的服务结构微服务

时间:2017-04-05 13:58:32

标签: azure azure-service-fabric

我们有一个带有5个无状态服务的微服务应用程序

  1. eShopWeb
  2. eShopAPI
  3. eShopOrder
  4. eShopBasket和eShopPayments
  5. 我们在azure中创建了一个具有3个节点的服务结构集群。现在我们要配置如下

    1. eShopWeb和eShopOrder需要在节点1上运行
    2. eShopAPI和eShopPayments需要在节点2上运行
    3. eShopOrder需要在节点3上运行。
    4. 如何在同一节点上实现上述配置以朗读多个微服务

2 个答案:

答案 0 :(得分:1)

您不应该关心哪个节点运行哪个服务。通过将服务绑定到节点,会破坏SF的self-healing功能(如果节点2出现故障,该怎么办?)。此外,您不能以这种方式进行滚动升级(eShopOrder除外)。

如果可以的话,我建议避免放置限制。除非您有多个节点类型或大型集群。

服务亲和力适用于传统服务,这些服务非常繁琐,因为在通信延迟时,它们在单独的节点上表现不佳。

(对于制作,您应该使用5 nodes。)

答案 1 :(得分:0)

这里有两个选择。

  1. 展示位置限制。您可以在this问题中获取详细信息。但我不建议这样做,因为自然平衡能力在这里毫无用处。
  2. 服务亲和力。您可以找到更多信息here。当某些服务与另一个服务在同一节点上时。但请注意:这条规则可能会被打破;仔细阅读文档。
  3. 我会选择第二种方法,看看它至少在临时环境中是如何工作的。