主VM集重新启动时故障转移的工作原理?

时间:2018-06-02 05:17:18

标签: azure azure-service-fabric azure-load-balancer

enter image description here

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

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

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

  3. 现在,如果我重新启动主虚拟机设置,它应该将负载转移到辅助虚拟机,我认为它应该自动完成但不是因为第二个负载平衡器具有不同的DNS名称。 (如果我指定了不同的DNS名称,则可以访问它。)

  4. 我理解cluser有一个id所以它对于两个负载均衡器都很常见。

    这样的配置是否可行?

2 个答案:

答案 0 :(得分:1)

也许您可以将Azure Traffic Manager与健康探针一起使用。

但是,请不要在重新启动期间使用多个节点类型进行故障转移选项,而是查看“Durability tiers”。使用Silver或Gold会产生重新启动在机器组上按顺序执行的重新启动(按故障域分组),而不是一次性完成。

  

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

答案 1 :(得分:1)

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

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

Service Fabric只不过是在集群节点中部署的应用程序和服务,当您创建集群时,您定义了一个 主节点类型 ,将在那里提供服务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

鉴于:

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

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

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

    • 创建span multiple regions
    • 的自定义群集
    • 在服务前添加反向代理或API网关,以便在您的服务所在的任何地方路由请求。