首页 > 其他 > 详细

Service Fabric Failover Manager

时间:2017-04-06 13:48:58      阅读:222      评论:0      收藏:0      [点我收藏+]

作者:潘罡 (Van Pan)@ Microsoft

 

什么是Failover Manager

我们回到Service Fabric系统架构图。

技术分享

Failover Manager是Reliability Subsystem其中的一部分核心组件。它被设计为SF的一个Service。你可以在Service Fabric Explorer中看到这个服务。

它主要负责以下功能:

  • 维护全局可用的Node及Service视图
  • 和Placement and Load Balancer (PLB) 以及 Reconfiguration Agent (RA)紧密工作。(PLB会在后续章节进行介绍。RA在上一节CM中有过介绍,主要负责在Node中应用配置变动)
  • 创建Failover Units以及Replicas
  • 如果发生故障,负责Failover Replicas。(比如选举Replica成为Primer)
  • 管理SF 升级
  • 管理Node失效
  • 如果发生灾难,负责重建系统状态

 

Failover Manager由以下部分组成

  • Global Failover Unit Map (GFUM)
    • Node 缓存
    • Service 缓存
    • Failover Unit 缓存
    • 内建Failover Unit 缓存
  • State Machine
    • State 升级
    • 重新配置
    • Placement
    • Replica 移动

GFUM介绍

Node 缓存

Node缓存维护了所有Node的以下信息

  • Node Id
  • Node Name
  • Upgrade Domain
  • Capacity
  • 失效/激活状态

Servic缓存

Service 缓存维护了以下信息

  • Service 列表
  • Service Type 列表
  • Application 列表
  • Application 当前升级状态

Failover Unit缓存

Failover Unit 缓存维护了以下信息

  • Failover Unit以及Replica列表
  • Service查找表

工作流程举例

我们用创建一个Service的例子,以下SF部件将协同工作。

Client –> Gateway –> CM –> Naming Service –> FM –> RA

 

在上一节中,我们已经介绍了CM和Naming Service之间是如何工作的,下面我们详细介绍FM内部如何工作。

详细步骤:

  1. 增加Service命令到达FM
  2. FM向Service 缓存添加Service信息
  3. FM向Failover Unit 缓存添加Failover Unit
  4. FM更新PLB
  5. PLB 向FM返回新的Placement
  6. FM返回增加Service命令执行结果
  7. FM向Failover Unit 缓存创建Replica信息
  8. FM通知RA向Node中添加Replica

其他信息

因为FM的特性以及存储的信息,以下PS命令是在FM中执行的。

Get-ServiceFabricNode
Get-ServiceFabricService
Get-ServiceFabricPartition
Get-ServiceFabricReplica

Service Fabric Failover Manager

原文:http://www.cnblogs.com/mschiefevangelist/p/6673047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!