软考高级架构-9.4.4-双机热备技术 与 服务器集群技术

一、双机热备

1、特点:

软硬件结合:系统由两台服务器(主机和备机)、一个共享存储(通常为磁盘阵列柜)、以及双机热备软件(提供心跳检测、故障转移和资源管理功能的核心软件)组成。

共享存储集中管理:用户数据存储在外接共享磁盘阵列中,两个服务器通过共享存储实现数据同步和访问。

心跳机制保证故障检测:主备机之间周期性地发送“心跳信号”,用于检测对方的运行状态。一旦“心跳”信号中断,备机会自动接管主机的资源和任务,确保系统连续运行。

2、三种模式

模式主机数备机利用率切换复杂性适用场景

双机热备模式

Active/Standby

1 主 1 备金融、工业控制、高可靠性系统
双机互备模式2 主互备IT系统、小型企业
双机双工模式双主双备电商平台、大型分布式系统

1. 双机热备模式(Active-Standby)

  • 主机(Active):负责所有业务处理,正常运行时承担全部任务。
  • 备机(Standby):处于待机状态,不参与正常业务,但监控主机的状态。
  • 当主机发生故障时,备机会接管主机的任务,继续提供服务。

特点:资源利用率较低,即备机处于空闲状态。故障切换速度快,对于任务重要且可靠性要求高的场景。

2. 双机互备模式(Mutual Standby)

  • 两台设备(主机和备机)各自运行独立的业务,同时为对方的备机。举例:主机A运行任务1,同时作为任务2的备机。主机B运行任务2,同时作为任务1的备机。
  • 当某台服务器发生故障时,另一台会接管其任务,并继续运行自身业务。

特点:资源利用率提高,同时复杂性增加

适用场景:适合业务分区明显、资源可以独立分配的场景(如中小型企业的IT系统)。

3. 双机双工模式(Active-Active 或 Dual Active)

工作原理:

  • 两台设备均同时运行相同的业务,并且在互为备份的同时分担工作负载。
  • 两台服务器通过负载均衡器共同处理请求,彼此同步数据。
  • 当一台设备发生故障时,另一台设备完全接管所有任务。

特点:资源利用率最高系统复杂性最高可靠性强

适用场景:对于高性能、高可用性要求的系统(如大型电商平台或通信网络)。

二、服务集群技术

1、关键特点

  1. 分布式架构:将多台独立的服务器通过网络组合成一个虚拟的整体,对外提供统一的服务。

    • 客户端只需访问集群提供的单一名称或地址,无需关心内部服务器结构。
  2. 高可用性(HA):集群可通过自动故障转移(Failover)实现应用服务的无缝接管,保证系统的高可靠性。故障服务器下线后,其任务可以快速分配到其他节点。

  3. 负载均衡(Load Balancing):集群可以根据当前负载情况,将客户端请求均匀分发到各服务器,避免单点过载。实现资源的高效利用,提升系统性能。

  4. 扩展性(Scalability):新的服务器节点可以动态加入集群,无需影响现有服务。随着业务增长,可以水平扩展系统容量。

  5. 独立存储:集群中每台服务器都有自己的本地存储,存储操作系统和应用程序文件。数据的一致性通过分布式文件系统或数据库同步机制来保证。

2、主要组成

  1. 节点服务器:每台服务器运行独立的操作系统,执行各自的任务。

  2. 网络通信:内部局域网用于集群节点之间的通信和协调,负载均衡器或DNS轮询机制对外提供服务入口。

  3. 集群管理软件:提供故障监控、节点管理、资源分配等功能

  4. 共享存储(可选):在某些情况下,集群会使用共享存储,尤其是数据库或文件服务类型的集群应用。

3、主要类型

集群类型描述应用场景
高可用集群(HA集群)主要保障系统的高可用性,当某个节点发生故障时,其他节点接管任务。金融系统、电子商务网站、通讯系统等要求高可用的应用。
负载均衡集群通过负载均衡器将请求均匀分配到多台服务器,提高并发处理能力。高访问量网站、流媒体服务、在线游戏等。
高性能计算集群(HPC)将多台服务器的计算能力联合起来,用于处理复杂的并行计算任务。科研计算、大数据分析、天气模拟等高计算需求场景。

高可用集群的两种架构示意图

三、双机热备与服务器集群技术的区别

特点双机热备技术服务器集群技术
组成结构两台服务器、共享存储和热备软件多台服务器组成的分布式或负载均衡系统
适用场景高可靠性、高可用性需求,单点业务高并发、高负载场景,如大型网站或分布式计算系统
工作模式主备模式,备机仅在主机故障时接管任务主主模式或主从模式,多台服务器共同分担任务
资源利用率备机处于待机状态,利用率较低所有节点资源同时被使用,利用率高
切换复杂性切换快速、简单,通过心跳和管理软件自动完成切换复杂,可能涉及负载均衡器和一致性管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/933388.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤

🎙告诉你:Java是世界上最美好的语言 💎比较擅长的领域:前端开发 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持续下去的动力! 目录 一. 作者有话说 …

Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https

目录 前言禁用HSTS禁止重定向到https关闭 HSTS 和设置 ssl-redirect 为 false 的区别 前言 客户请求经过ingress到服务后,默认加上了strict-transport-security,导致客户服务跨域请求失败,具体Response Headers信息如下; 分析 n…

小程序入门学习(八)之页面事件

一、下拉刷新新事件 1. 什么是下拉刷新 下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。 2. 启用下拉刷新 启用下拉刷新有两种方式: 全局开启下拉刷新:在 app.json 的 window…

C++(十二)

前言: 本文将进一步讲解C中,条件判断语句以及它是如何运行的以及内部逻辑。 一,if-else,if-else语句。 在if语句中,只能判断两个条件的变量,若想实现判断两个以上条件的变体,就需要使用if-else,if-else语…

[Linux]文件属性和权限

目录 一.Linux文件的属性二.Linux用户权限分类三.文件权限的查询与修改1.修改用户的权限1).一般法2).8进制法 2.修改所属组和所属者3.如何在创建文件时权限预分配 在学习linux的时候,我们用ll命令显示文件的详情信息,难免会发现文件名前面会有一大堆其它…

ElK 8 收集 MySQL 慢查询日志并通过 ElastAlert2 告警至飞书

文章目录 1. 说明2. 启个 mysql3. 设置慢查询4. filebeat 设置5. 触发慢查询6. MySQL 告警至飞书 1. 说明 elk 版本:8.15.0 2. 启个 mysql docker-compose.yml 中 mysql: mysql:# restart: alwaysimage: mysql:8.0.27# ports:# - "3306:3306&q…

springSecurity权限控制

权限控制:不同的用户可以使用不同的功能。 我们不能在前端判断用户权限来控制显示哪些按钮,因为这样,有人会获取该功能对应的接口,就不需要通过前端,直接发送请求实现功能了。所以需要在后端进行权限判断。&#xff0…

力扣打卡9:重排链表

链接:143. 重排链表 - 力扣(LeetCode) 这是一道操作链表的题。按照要求,我们可以将解题的步骤分成三步。 1.找链表中间结点(我使用了快慢指针寻找),并断开。 2.现在有2链表,将后段…

计算机键盘的演变 | 键盘键名称及其功能 | 键盘指法

注:本篇为 “键盘的演变及其功能” 相关几篇文章合辑。 英文部分机翻未校。 The Evolution of Keyboards: From Typewriters to Tech Marvels 键盘的演变:从打字机到技术奇迹 Introduction 介绍 The keyboard has journeyed from a humble mechanical…

【Appium报错】安装uiautomator2失败

目录 1、通过nmp安装uiautomator2:失败 2、通过 Appium 的平台直接安装驱动程序 3、通过pip 来安装 uiautomator2 1、通过nmp安装uiautomator2:失败 我先是通过npm安装的uiautomator2,也显示已经安装成功了: npm install -g …

SSM整合原理实战案例《任务列表案例》

一、前端程序搭建和运行: 1.整合案例介绍和接口分析: (1).案例功能预览: (2).接口分析: 学习计划分页查询 /* 需求说明查询全部数据页数据 请求urischedule/{pageSize}/{currentPage} 请求方式 get 响应的json{"code":200,"flag":true,"data&…

Chrome扩展程序开发示例

项目文件夹内文件如下: manifest.json文件内容: {"manifest_version": 3,"name": "我的法宝","description": "我的有魔法的宝贝","version": "1.0","icons": {"…

石头剪子布

石头剪子布 C语言实现C实现Java实现Python实现 💐The Begin💐点点关注,收藏不迷路💐 石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲&…

RabbitMQ核心概念及工作流程 + AMQP

文章目录 一. RabbitMQ核心概念1. Producer, Consumer, Broker2. Connection和Channel3. Virtual host4. Queue5. Exchange 二. RabbitMQ的工作流程三. AMQP四. web界面操作对用户操作对虚拟机操作 一. RabbitMQ核心概念 RabbitMQ是⼀个消息中间件, 也是⼀个⽣产者消费者模型.…

js循环导出多个word表格文档

文章目录 js循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图js循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save// 文件操…

字节高频算法面试题:小于 n 的最大数

问题描述(感觉n的位数需要大于等于2,因为n的位数1的话会有点问题,“且无重复”是指nums中存在重复,但是最后返回的小于n最大数是可以重复使用nums中的元素的): 思路: 先对nums倒序排序 暴力回…

windows11 实现Hyper-v ubuntu22.04 GPU虚拟化(GPU分区、GPU-P)教程

注:1、本文提到的vGPU、GPU分区都是指的微软的GPU-P技术。 2、在实操过程中,发现网上的很多文章要么记录不全,要么描述不清楚,导致的结果就是根本没法走通。希望通过该文章能解决小伙伴们在实操中遇到的一些坑。 前提说明 1、物理机需要支持SR-IOV,在主板BIOS中可以通过…

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…

沐风老师3DMAX摄相机阵列插件使用方法

3DMAX摄相机阵列插件,从网格对象或样条线的顶点法线快速创建摄相机阵列。该插件从网格的顶点或样条线的节点获取每个摄影机的位置和方向。 3DMAX摄相机阵列插件支持目前3dMax主流的物理相机、标准相机、VRay物理相机。 【版本要求】 3dMax 2015及更高版本 【安装方…

记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009

项目是个老项目,依赖包也比较大,咱就按正常流程走一遍来详细解决这个问题,先看一下node版本,我用的是nvm管理的,详细可以看我的其他文章 友情提醒:如果项目比较老,包又大,又有一些需…