高可用 - 01 闲聊高性能集群

文章目录

  • 什么是集群
  • 集群的特点与功能
    • 1. 高可用性与可扩展性
    • 2. 负载均衡与错误恢复
    • 3. 心跳监测与漂移IP地址
  • 集群的分类
    • 1. 高可用集群
      • 高可用的概念
      • 常见的HA集群
        • 双机冷备
        • 双机热备
        • 双机互备
        • 多机互备
      • 高可用集群软件
    • 2. 负载均衡集群
    • 3. 分布式计算集群
  • HA集群中的相关术语
    • 1.节点
    • 2.资源
    • 3.事件
    • 4.动作

在这里插入图片描述


什么是集群

集群是一组协同工作的服务集合,用来提供比单一服务更稳定、更高效、更具扩展性的服务平台。

在集群的内部,有两个或两个以上的服务实体在协调、配合完成一系列复杂的工作。

  • 集群一般由两个或两个以上的服务器组建而成。每个服务器称为一个集群节点,集群节点之间可以相互通信。

  • 集群应该具有节点间服务状态监控功能,同时还必须具有服务实体的扩展功能,可以灵活地增加和剔除某个服务实体。

  • 集群应该具有故障自动切换功能: 在集群中,同样的服务可以由多个服务实体提供。因而,当一个节点出现故障时,集群的另一个节点可以自动接管故障节点的资源,从而保证服务持久、不间断运行。

  • 一个集群系统必须拥有共享的数据存储 : 因为集群对外提供的服务是一致的,任何一个集群节点运行一个应用时,应用的数据都集中存储在节点共享空间内。而每个节点的操作系统上仅运行应用的服务,同时存储应用程序文件。

在这里插入图片描述


集群的特点与功能

1. 高可用性与可扩展性

在服务出现故障时,集群系统可以自动将服务从故障节点切换到另一个备用节点,从而提供不间断性服务,保证了业务的持续运行。

随着业务量的加大,现有的集群服务实体不能满足需求时,可以向此集群中动态地加入一个或多个服务节点,从而满足应用的需要,增强集群的整体性能


2. 负载均衡与错误恢复

通过集群自身定义的负载分担策略,将客户端的访问分配到下面的各个服务节点

在这里插入图片描述

常见的6种算法:

静态算法:

  1. Round robin (循环):客户端请求按顺序发送到不同的服务实例。 通常要求服务是无状态的。
  2. Sticky round-robin (粘性循环):粘性循环算法是循环算法的改进。 如果某个客户端的第一个请求转到服务A,则后续请求也将转到服务A。
  3. Weighted round-robin (加权循环):管理员可以为每个服务指定权重。 权重较高的处理比其他处理更多的请求。
  4. Hash (哈希):该算法对传入请求的IP或URL应用哈希函数,算的Hash值决定了请求被哪个服务处理。

动态算法

  1. Least connections (最小连接数):一个新的请求被发送到并发连接最少的服务实例。
  2. Least response time (最小响应时间):一个新的请求被发送到响应时间最快的服务实例。

当一个任务在一个节点上还没有完成时,由于某种原因,执行失败,此时,另一个服务节点应该能接着完成此任务,这就是集群提供的错误恢复功能。通过错误的重定向,保证了每个执行任务都能有效地完成。

在这里插入图片描述


3. 心跳监测与漂移IP地址

心跳监控的效率直接影响故障切换时间的长短,集群系统正是通过心跳技术保持节点间内部通信的有效性。

在集群系统中,除了每个服务节点自身的真实IP地址外,还存在一个漂移IP地址. 这个IP地址并不固定。举个例子,在两个节点的双机热备中,正常状态下,这个漂移IP地址位于主节点上,当主节点出现故障后,漂移IP地址自动切换到备用节点。因此,为了保证服务的不间断性,在集群系统中,对外提供的服务IP地址一定要是这个漂移IP地址。

在这里插入图片描述


集群的分类

1. 高可用集群

高可用的概念

高可用集群(High Availability Cluster,HA集群),其中高可用的含义是最大限度地可以使用。此类集群实现的功能是保障用户的应用程序持久、不间断地提供服务。

当应用程序出现故障或者系统硬件、网络出现故障时,应用可以自动、快速从一个节点切换到另一个节点,从而保证应用持续、不间断地对外提供服务,这就是高可用集群实现的功能,


常见的HA集群

常说的双机热备、双机互备、多机互备等都属于高可用集群的范畴,这类集群一般都由两个或两个以上节点组成。


双机冷备

冷备是指当目标设备发生故障或停机后,冷备设备才开始由停机等待状态进入启动运转状态,并承担起故障设备的工作任务。

比如,有两台业务服务器:主服务器和备用服务器。 在主服务器运行时候,通过定时任务自动将数据定时同步到备用服务器上

当主服务器发生故障时,人工方式手动切换到备用服务器上(临时把备份数据库机器的IP改过来用)保障系统的连续运行和服务。主服务器恢复功能后,只需要将备用服务器上的数据拷贝回来,重新启动主服务器即可。


双机热备

典型的双机热备结构如下

在这里插入图片描述

双机热备是最简单的应用模式,即经常说的active/standby方式。它使用两台服务器,一台作为主服务器(action server),负责运行应用程序并对外提供服务,另一台作为备用服务器(standby server),安装和主服务器一样的应用程序,但是并不启动服务,处于待机状态

主机和备机之间通过心跳技术相互监控,监控的资源可以是网络、操作系统,也可以是服务。 可以根据自己的需要,选择需要监控的资源。

当备机监控到主机的某个资源出现故障时,根据预先设定好的策略,首先将IP切换过来,然后将应用程序服务也接管过来,接着就由备机对外提供服务。

由于切换过程时间非常短,因此用户根本感觉不到程序出了问题,而且还进行了切换,从而保障了应用程序持久、不间断地服务。

在这里插入图片描述


双机互备

双机互备是在双机热备的基础上,两个相互独立的应用在两个机器上同时运行,互为主备,即两台服务器既是主机也是备机,当任何一个应用出现故障时,另一台服务器都能在短时间内将故障机器的应用接管过来,从而保障了服务的持续、无间断运行。

优点:双机互备的好处是节省了设备资源,两个应用的双机热备至少需要四台服务器,而双机互备仅需两台服务器即可完成高可用集群功能。

缺点:双机互备也有自身的缺点:在某个节点故障切换后,另一个节点上就同时运行了两个应用的服务,有可能出现负载过大的情况。


多机互备

多机互备是双机热备的技术升级,通过多台机器组成一个集群,可以在多台机器之间设置灵活的接管策略。

举个例子: 某个集群环境由8台服务器组成,3台运行A应用,3台运行B应用,因而,可以将剩余的一台作为3台A服务器的备机,另一台作为3台B服务器的备机,通过这样的部署,合理充分地利用了服务器资源,同时也保证了系统的高可用性。

高可用集群不能保证应用程序数据的安全性,它仅仅解决的是对外提供持久不间断的服务,把由于软件、硬件、网络、人为因素造成的故障而对应用造成的影响降低到最底程度。


高可用集群软件

高可用集群一般是通过高可用软件来实现的。在Linux下常用的高可用软件有开源HeartBeat HA、Red Hat提供的RHCSKeepalived商业软件ROSE、等


2. 负载均衡集群

负载均衡集群(Load Balance Cluster,LB集群)也是由两台或者两台以上的服务器组成,分为前端负载调度和后端节点服务两个部分。负载调度部分负责把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供应用程序服务的部分。

与HA集群不同的是,在负载均衡集群中,所有的后端节点都处于活动状态,它们都对外提供服务,分摊系统的工作负载。

优点: 负载均衡集群可以把一个高负荷的应用分散到多个节点来共同完成,适用于业务繁忙、大负荷访问的应用系统。

不足的地方:当一个节点出现故障时,前端调度系统并不知道此节点已经不能提供服务,仍然会把客户端的请求调度到故障节点上来,这样访问就会失败。为了解决这个问题,负载调度系统一般都引入了节点监控。

节点监控系统位于前端负载调度机上,负责监控下面的服务节点。当某个节点出现故障后,节点监控系统会自动将故障节点从集群中剔除。当此节点恢复正常后,节点监控系统又会自动将其加入集群中,而这一切对用户来说是完全透明的。

【负载均衡集群的基本结构】

在这里插入图片描述

负载均衡集群可以通过软件方式实现,也可以由硬件设备来完成。Linux下典型的负载均衡软件有开源LVS集群、Oracle的RAC集群等,硬件负载均衡器有F5 Networks等


3. 分布式计算集群

分布式计算集群致力于提供单个计算机所不能提供的强大的计算分析能力,包括数值计算和数据处理,并且倾向于追求综合性能。 可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。

流行的开源分布式计算平台HadoopSpark就是这样的一个分布式计算集群平台。通过这个平台,用户可以轻松地开发和处理海量数据。

在这个平台上,分布式任务是并行运行的,因此处理速度非常快。同时,数据在储存上维护了多个副本,确保能够针对失败的节点重新进行分布处理。
例如,Hadoop的分布式架构,可将大数据直接存储到HDFS这个分布式文件系统上,而Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送到多个节点上,之后再以单个数据集的形式加载到数据仓库里。

在这里插入图片描述

HA集群中的相关术语

1.节点

运行Heartbeat进程的一个独立主机,称为节点(node)。

节点是HA集群的核心组成部分,每个节点上运行着操作系统和Heartbeat软件服务。在Heartbeat集群中,节点有主次之分,分别称为主节点和备用/备份节点,每个节点拥有唯一的主机名,并且拥有属于自己的一组资源,例如,磁盘、文件系统、网络地址和应用服务等。

主节点上一般运行着一个或多个应用服务。而备用节点一般处于监控状态。

2.资源

资源(resource)是一个节点可以控制的实体,并且当节点发生故障时,这些资源能够被其他节点接管。在Heartbeat集群中,可以当做资源的实体有以下几种。

  • 磁盘分区、文件系统
  • IP地址
  • 应用程序服务
  • NFS

3.事件

事件(event)也就是集群中可能发生的事情。例如,节点系统故障、网络连通故障、网卡故障、应用程序故障等。这些事件都会导致节点的资源发生转移,HA集群的测试也是基于这些事件来进行的。

4.动作

动作(action)是事件发生时HA的响应方式,动作是由shell脚步控制的。例如,当某个节点发生故障后,备份节点将通过事先设定好的执行脚本进行服务的关闭或启动,进而接管故障节点的资源。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

常见集群(Cluster)软件和技术解析

集群就是通过软件将一组服务器作为一个整体向客户提供资源。这些单个的服务器就是集群的节点。当对外提供资源的节点故障后,集群中其余的节点能够将资源接管起来,继续对客户提供资源。 集群技术的核心就是资源访问控制。由于集群中所有节点都可以访问集群…

[Linux基础与服务管理——常用集群高可用软件 Keepalived]

1.Keepalived 简介 Keepalived是Linux下的一个免费的、轻量级的高可用解决方案。是一个由C语言编写的路由软件,主要目标是为Linux系统和基于Linux的基础架构提供简单而强大的负载平衡和高可用性设。Keepalived实现了一组检查器,以根据其健康状况动态地和…

集群分为几种,用的软件分别是什么?

集群分为几种,用的软件分别是什么? 补充:涉及的组件 1.1、apache 跨平台的网页服务器,主要使用它做静态资源服务器,也可以做代理服务器转发请求 1.2、ngnix 高性能的 HTTP和反向代理服务器,ngnix处理能力相当于apache…

轻量级集群管理软件-Ansible

ansible概述和运行机制 ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具, 它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端 , 它使用SSH来和节点进行通信 Ansible基于 Pytho…

了解集群、集群的分类、常用的集群软硬件及选型介绍(内附详细图解)

Table of Contents 一、集群简介 二、集群的七大优点 三、集群的分类 四、常用的集群软硬件及选型介绍 一、集群简介 集群就是一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点&…

数据I/O

I/O类型 区分同步或异步(synchronous/asynchronous)。 简单来说,同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,…

【赋权算法】Python实现熵权法

在开始之前,我们先说一下信息熵的概念。 当一件事情发生,如果是意料之中,那么这个事情就并不能拿来当做茶余饭后的谈资,我们可以说这个事情并没有什么信息和价值。而当一件不可能发生的事情发生的时候,我们可能就会觉…

【软件测试】大学毕业后顶着压力,巧合的开启了我人生的新篇章......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 小李:…

中国矿业大学徐海学院最不常见的网络工程计算机毕业设计题目推荐50例

之前有矿业大学徐海学院的童鞋在后台找我们,最近要准备毕业设计了,不会选题,希望可以帮忙给一些毕业设计题目,我整整花了一周把之前做的答辩通过的毕业设计成品进行整理,并精选一些容易实现且不会刷下来的题目列举下。…

电路叠加定理的例题

来看第二题 不擅长画这种图形,见谅 注:叠加定理中,电压源当导线短路处理,电流源当开路处理。

计算机春季高考考什么时候开始报名,2021春季高考报名时间 什么时候报名

2021春季高考报名时间是什么时候,小编整理了相关信息,来看一下! 2021春季高考报名时间 春考招生简章公布(2020年12月下旬); 春考校测方案公布(2021年1月) 春考(2021年1月); 春考出分(通常为考试后两周); 春…

【运维】hadoop集群安装(一)多节点安装

文章目录 一.Purpose二. Prerequisites三. Installation1. 节点规划2. Configuring Hadoop in Non-Secure Mode3. 准备工作4. 配置core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlworkers 4. 分发配置、创建文件夹5. 格式化6. 操作进程6.1. hdfs启动停止 6.2. yarn启动…

Mysql--技术文档--基本概念--《世界上最流行的关系型数据库之一》

官方网址 MySQL 阿丹: 作为关系型数据库管理的老大哥,一个合格的程序员多多少少一定要了解mysql库。 官方解释 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管…

Spring Boot中通过maven进行多环境配置

上文 java Spring Boot将不同配置拆分入不同文件管理 中 我们说到了,多环境的多文件区分管理 说到多环境 其实不止我们 Spring Boot有 很多的东西都有 那么 这就有一个问题 如果 spring 和 maven 都配置了环境 而且他们配的不一样 那么 会用谁的呢? 此…

二十年前的电脑配置单,大家见过吗?

去年搬家时,从角落里找到一台小时候用过的台式电脑,当时家人像宝贝供着,不让我用,后来出去读书,不知道什么时候淘汰的,现在放在角落里吃灰。如下图所示,不知道是什么牌子,还是挺重的…

无盘服务器怎么设置客户端启动,网吧无盘客户端配置向导

你知道网吧无盘客户端配置向导是怎么样的吗?网吧无盘客户端配置向导如何呢?下面是学习啦小编收集整理的网吧无盘客户端配置向导,希望对大家有帮助~~ 网吧无盘客户端配置向导 工具/原料 深度无盘网吧系统 网吧服务器设备 步骤/方法 1客户端安装完毕后,重启客户机,进入BIOS设…

网吧无盘60台服务器配置,网吧40台无盘服务器的配置

网吧40台无盘服务器的配置 内容精选 换一换 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取、计算能力可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。 本节定义了云耀云…

网吧无盘最新服务器配置,2018年50台机网吧无盘服务器配置

大家都知道,现在的网吧都是无盘,无盘网吧服务器和网络配置决定了网吧的大部分性能。而网吧电脑配置的性能直接影响到网吧顾客对网吧的印象。网吧顾客玩得不爽,下次自然不会再来你网吧了。所以,网吧无盘服务器的电脑配置非常关键。…

网吧服务器组装方案,网吧服务器配置方案有哪些

服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。服务器与PC机的不同点很多,例如PC机在一个时刻通常只为一个用户服务。服务器与主机不同,主机是通过终端给用户使用的,服务器是通过…

网吧服务器系统如何配置,网吧服务器系统配置

网吧服务器系统配置 内容精选 换一换 支持。SFS容量型文件系统:支持为SFS容量型文件系统配置多个VPC,以使归属于不同VPC的云服务器,只要所属的VPC被添加到文件系统的VPC列表下,或云服务器被添加到了VPC的授权地址中,则实际上归属于不同VPC的云服务器也能共享访问同一个文件…