【问题标题】:configure service fabrics microservices on which node to run配置服务结构微服务在哪个节点上运行
【发布时间】:2017-04-06 16:17:18
【问题描述】:

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

  1. eShopWeb
  2. eShopAPI
  3. eShopOrder
  4. eShopBasket 和 eShopPayments

我们在 azure 中创建了一个具有 3 个节点的 Service Fabric 集群。现在我们要进行如下配置

  1. eShopWeb 和 eShopOrder 需要在节点 1 上运行
  2. eShopAPI 和 eShopPayments 需要在节点 2 上运行
  3. eShopOrder 需要在节点 3 上运行。

如何实现上述配置在同一个节点上运行多个微服务

【问题讨论】:

    标签: azure azure-service-fabric


    【解决方案1】:

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

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

    服务亲和性适用于由于通信延迟而在不同节点上运行不佳的旧服务。

    (对于生产,您应该使用5 nodes。)

    【讨论】:

      【解决方案2】:

      这里有两个选择。

      1. 放置限制。您可以在this 问题中获取详细信息。但我不建议这样做,因为自然平衡能力在这里毫无用处。
      2. 服务关联性。您可以找到更多信息here。当某些服务与另一个服务位于同一节点上时。但请注意:这条规则可能会被打破;仔细阅读文档。

      我会采用第二种方法,看看它至少在暂存环境中是如何工作的。

      【讨论】:

        猜你喜欢
        • 2020-05-31
        • 2017-12-26
        • 2016-08-06
        • 2018-09-25
        • 2017-12-25
        • 2020-07-24
        • 1970-01-01
        • 2019-03-13
        • 1970-01-01
        相关资源
        最近更新 更多