代码编织梦想

第十一章 镜像架构和规划 - 自动故障转移机制详解

自动故障转移机制详解

本节提供有关故障转移机制的更多详细信息。

镜像对故障转移成员之间或故障转移成员与仲裁器之间失去联系的响应通过使用两种不同的镜像故障转移模式来支持,如下所示:

  • Agent 控制模式
  • Arbiter 控制模式

代理控制模式

当镜像启动时,故障转移成员开始在代理控制模式下运行。如果仲裁器不可用或未配置仲裁器,它们将保持此模式。在代理控制模式下,故障转移成员对彼此失去联系做出响应,如下所述。

Primary对失联的反应

如果主服务器失去了与活动备份的连接,或者超过了等待它确认接收数据的QoS超时,主服务器将撤销备份的活动状态并进入故障状态,等待备份确认它不再活动。当主服务器从备份接收到确认信息或故障超时(是QoS超时的两倍)到期时,主服务器退出故障状态,以主服务器的身份恢复操作。

如果主服务器失去与非活动备份服务器的连接,它将继续作为主服务器运行,不进入故障状态。

备份对失联的反应

如果备份服务器失去了与主服务器的连接,或者超过了等待主服务器消息的QoS超时时间,备份服务器将尝试联系主服务器的ISCAgent。如果代理报告主实例仍然作为主实例运行,备份将重新连接。如果代理确认主服务器宕机或已强制主服务器宕机,备份服务器的行为如下:

  • 如果备份是活动的,并且代理确认主服务器在故障超时内停机,则备份将接管为主服务器。
  • 如果备份未激活,或超过故障超时,则如果代理确认主服务器已关闭,并且可以从代理获取最新的日志数据,则备份将接管。

无论备份是否处于活动状态,备份都不能在代理控制模式下自动接管,除非主服务器本身确认挂起或主服务器的代理确认主服务器宕机(可能是在强制宕机之后),如果主服务器的主机宕机或网络隔离,这两种情况都不会发生。

注意:当其中一个故障转移成员重新启动时,它会尝试联系另一个成员的ISCAgent,其行为与未激活的备份相同。

仲裁者控制模式

当故障转移成员彼此连接时,两个成员都连接到仲裁程序,并且备份处于活动状态,它们进入仲裁程序控制模式,在这种模式下,故障转移成员根据仲裁程序提供的关于其他故障转移成员的信息对它们之间失去联系作出响应。由于每个故障转移成员通过测试其与其他故障转移成员的连接来响应其仲裁连接的丢失,反之亦然,因此由单个网络事件引起的多个连接丢失将作为单个事件处理。

在仲裁控制模式下,如果任何一个故障转移成员仅失去其仲裁连接,或者备份失去其活动状态,则故障转移成员协调切换到代理控制模式,并响应针对该模式所述的进一步事件。

如果主服务器和备份服务器之间的连接在仲裁控制模式下断开,每个故障转移成员将根据仲裁连接的状态做出响应,如下所述。

主服务器与备份服务器失去连接

如果主服务器失去了与活动备份的连接,或者超过了等待它确认接收数据的QoS超时时间,并且从仲裁服务器获悉仲裁服务器也失去了与备份的连接,或者超过了等待备份响应的QoS超时时间,主服务器将继续作为主服务器运行,并切换到代理控制模式。

如果主服务器得知仲裁程序仍然连接到备份程序,它就会进入故障状态,并试图通过仲裁程序与备份程序协调切换到代理程序控制模式。当协调切换完成,或者主服务器得知备份服务器不再连接到仲裁器时,主服务器将作为主服务器返回正常操作。

如果主服务器失去了仲裁连接以及与备份服务器的连接,则主服务器将无限期地保持故障状态,以便备份服务器可以安全地接管。如果发生故障转移,当连接恢复时,主服务器将关闭。

注意:故障超时不适用于仲裁控制模式。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yaoxin521123/article/details/129829353

《策略驱动型数据中心——aci技术详解》一第1章 数据中心架构考虑因素1.1 应用和存储..._weixin_34121282的博客-爱代码爱编程

本节书摘来自异步社区《策略驱动型数据中心——ACI技术详解》一书中的第1章,第1.1节,作者【美】Lucien Avramov 【意】Maurizio Portolani,更多章节内容可以访问云栖社区“异步社区”公众号查看 第1章 数据中心架构考虑因素 策略驱动型数据中心——ACI技术详解本章介绍数据中心架构所需考虑的因素。其中将介绍设计时的

《策略驱动型数据中心——aci技术详解》——第1章 数据中心架构考虑因素1.1 应用和存储..._weixin_34212762的博客-爱代码爱编程

本节书摘来自异步社区《策略驱动型数据中心——ACI技术详解》一书中的第1章,第1.1节,作者: 【美】Lucien Avramov 【意】Maurizio Portolani 更多章节内容可以访问云栖社区“异步社区”公众号查看。 第1章 数据中心架构考虑因素 本章介绍数据中心架构所需考虑的因素。其中将介绍设计时的考虑因素和设计过程中使用的方法

详解Kubernetes架构 | 端午送福利-爱代码爱编程

Kubernetes是Google公司开源的一个容器(Container)编排与调度管理框架,该项目最初是Google内部面向容器的集群管理系统,而现在是由Cloud Native Computing Foundation(CNCF,云原生计算基金会)托管的开源平台,由Google、AWS、Microsoft、IBM、Intel、Cisco和Re

Docker镜像编译与Docker-Compose部署与编排-爱代码爱编程

文章目录 docker是什么以及为什么用dockerdocker是什么Docker的好处容器和虚拟机的区别Docker基本概念docker安装和测试ubuntu安装方法准备工作使用 apt安装卸载docker启动 Docker CE建立 docker 用户组Docker 常用命令与操作基础类日志类容器类查看容器信息容器同步命令容器操作命令查看容器的

第3章 分布式文件系统HDFS(精心梳理 详解HDFS )-爱代码爱编程

分布式文件系统(Distributed File System)是一种通过网络实现文件在多台主机上进行分布式存储的文件系统。分布式文件系统的设计一般采用“Client/Server(客户机/服务器)”模式,客户端以特定的通信协议通过网络与服务器建立连接,提出文件访问请求,客户端和服务器可以通过设置访问权来限制请求方对底层数据存储块的访问。 分布式文件系统

资深p7架构师详解淘宝服务端高并发分布式架构演进之路-爱代码爱编程

1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概

架构师之路---架构的演变详解-爱代码爱编程

前言:架构的演变流程 单体架构 ==> 垂直架构 ==> 前后端分离 ==> EAI架构  ==> SOA架构 ==> 微服务 ==> 微服务2.0 1、单体架构:在软件设计时经常使用经典的3层模型,即表现层,业务逻辑层,数据访问层。虽然在软件设计中划分了3层模型,但是对业务场景没有划分,所以典型的单体架构就是将所有的业务场

16 张图详解,淘宝十年架构演进过程-爱代码爱编程

文本文以淘宝为例讲解了大型网站的架构演进过程,特此分享给大家,相信看完会有所收获。整个架构的演进过程: 单机架构第一次演进:Tomcat与数据库分开部署第二次演进:引入本地缓存和分布式缓存第三次演进:引入反向代理实现负载均衡第四次演进:数据库读写分离第五次演进:数据库按业务分库第六次演进:把大表拆分为小表第七次演进:使用LVS或F5来使多个Ngi

docker-爱代码爱编程

docker-compose.yml 配置文件详解 Compose 是一个用于定义和运行多容器 Docker 的工具。借助 Compose,您可以使用 YAML 文件来配置应用程序的服务。 使用 Compose 基本上分