0

在此处输入图像描述

以上是 Azure Service Fabric 的示例配置。

  1. 我使用 Wizard 创建并部署了一个 Asp.net 核心应用程序,并且可以从外部访问。

  2. 现在,如果您查看下图,Service Fabric 正在通过 sfclustertemp.westus2.cloudapp.azure.com 进行访问。我可以使用 sfclustertemp.westus2.cloudapp.azure.com/api/values 访问应用程序。

  3. 现在,如果我重新启动主 VM 集,它应该将负载转移到辅助,我认为它应该自动完成,但它不是因为第二负载均衡器具有不同的 dns 名称。(如果我指定不同的 dns 名称,那么它是可访问的)。

我了解 cluser 有一个 id,因此这对于两个负载均衡器都很常见。

这样的配置可能吗?

4

2 回答 2

1

对什么是 SF 集群存在误解。

在您的图表上,您在左侧描述为“Service Fabric”的部分不属于那里。

Service Fabric 只不过是部署在集群节点中的应用程序和服务,当您创建集群时,您定义一个主节点类型,Service Fabric 将在那里部署用于管理集群的服务。

节点类型将由以下组成:

  • VM Scale Set:安装了 OS 和 SF 服务的机器
  • 具有 dns 和 IP 的负载均衡器,将请求转发到 VM Scale Set

因此,您在此处描述的内容应表示为:

NodeTypeA (Primary)
    Load Balancer (cluster domain + IP)
        VM Scale Set
            SF management services (explorer, DNS)
            Your applications
NodeTypeB
    Load Balancer (other dns + IP)
        VM Scale Set
            Your applications

鉴于:

  • 第一个问题是,如果主节点出现故障,您将失去集群,因为管理服务将无法管理您的服务实例。

  • 第二:您不应该依赖节点类型来获得这种可靠性,您应该增加集群的可靠性,向节点类型添加更多节点。

  • 第三:如果担心数据中心中断,您可以:

于 2018-06-09T01:32:47.427 回答
1

也许您可以将Azure 流量管理器与运行状况探测一起使用。

但是,不要在重新启动期间使用多个节点类型进行故障转移选项,而是查看“持久性层”。使用 Silver 或 Gold 将具有在机器组(按故障域分组)上按顺序执行重新启动的效果,而不是一次全部执行。

持久性层用于向系统指示 VM 对基础 Azure 基础结构具有的特权。在主节点类型中,此权限允许 Service Fabric 暂停任何影响系统服务和有状态服务的仲裁要求的 VM 级别基础结构请求(例如 VM 重新启动、VM 重新映像或 VM 迁移)。

于 2018-06-04T06:30:35.350 回答