一、集群分类
1、高扩展集群
高扩展集群(Load Balancing Cluster),也称"负载均衡集群"。
它是指在当前业务环境集群中,所有的主机节点都处于正常的工作活动状态,它们共同承担起用户的请求带来的工作负载压力,保证用户的正常访问。
这部分的内容属于我们上一节课程的主要内容。
2、高可用集群
高可用集群(High Availability Cluster),也称"主机冗余"集群。
它是指将核心业务使用多台(一般是2台)主机共同工作,支撑并保障核心业务的正常运行,尤其是业务的对外不间断的对外提供服务。核心特点就是"冗余",它存在的目的就是为了解决单点故障(Single Point of Failure)问题的。
这部分的内容属于我们这一阶段课程的主要内容。
3、高性能集群(HPA)
高性能集群(High Perfermance Computing Cluster),也称科学计算集群。
它是基于前两种技术实现的集群基础上,高效利用这些主机资源,结合某些特有的技术方案,提供的强大的计算能力,从而实现特定用户|大型任务的高复杂度数据处理功能,比如生物计算、大场景模拟计算、预测计算等。
对于高性能集群来说,它主要有两部分组成"技术方案"+"高性能配置"
二、高可用指标
1、场景需求
对于任何一个集群来说,满足业务功能需求是一个方面,但是我们要知道,所有的解决方案都是为了实现一个目的:业务项目的稳定。对于我们之前所学习的高扩展集群lvs来说,它的特点是为了满足用户量增加时候的服务器的支撑能力。对于这种情况,我们肯定会遇到一个问题,当我们唯一的lvs服务器崩了怎么办,即使你的后面应用服务器再多,一旦用户访问的入口被关闭了,再多的投入也是浪费。那么像这种情况,我们一般称之为“单点故障”(Single Point Of Failure)。
我们要知道,用户来访问我们的网站应用,关心的是我们网站的稳定性,而稳定性不仅仅体现在某一天、某一月内没有问题,而是长时间的网站不发生问题的状态,即网站高可用性。高可用集群是基于高扩展基础上的一个更高层次的网站稳定性解决方案。
网站的稳定性体现在两个方面:网站可用性和恢复能力
2、网站可用性
对于网站可用性来说,它主要有这么一个指标来评判:
A = MTBF/(MTBF+MTTR)
MTBF(Mean Time Between Failure),即平均故障间隔时间,表示产品多长时间出现一次问题。
MTTR(Mean Time To Restoration),即平均恢复时间,表示产品从故障状态到稳定状态的维修花费时间。
A值是一个介于0~1的值,我们用这个值来表示网站正常运行时间的百分比,业界用 N 个9 来量化可用性, 最常说的就是类似 “4个9(也就是99.99%)” 的可用性。常见的级别如下:
序号 |
描述 |
简称 |
可用性级别 |
年度停机时间 |
1 |
基本的可用性 |
2个9 |
99% |
87.6小时 |
2 |
较高的可用性 |
3个9 |
99.9% |
8.8小时 |
3 |
故障自动恢复的可用性 |
4个9 |
99.99% |
53分钟 |
4 |
极高可用性 |
5个9 |
99.999% |
5分钟 |
3、恢复能力
所谓的恢复能力,指的是一个网站从发生故障到故障修复这个过程的能力,而这个能力涉及到两个子内容:数据恢复能力和业务恢复能力。
数据恢复能力
RPO(Recovery Point Obejective),是指业务系统所允许的在灾难过程中的最大数据丢失量,用来衡量高可用系统的数据冗余备份能力。
业务恢复能力
RTO(Recovery Time Objective),是指信息系统从灾难状态恢复到可运行状态所需的时间,用来衡量高可用系统的业务恢复能力。
三、高可用方式
1、常见术语
对于集群来说,高可用的最主要的目的就是保证网站接入口的稳定性,通过一个虚拟的接入口,将真实的请求转发到不同地址(一般是两个)的真实接入口出,进而将请求转发到后续高扩展集群主机中。
这个虚拟的接入口,我们一般称之为VIP,这个VIP一般附加在后端的真实接入口,二这两个接入口一个做主一个做从,共同负担起VIP传输过来的信息。
做主的接口主机我们一般称之为Master或者Active,做备的接口主机我们一般称之为Slave或者Passive。
2、高可用方式
高可用的软件对用户的环境没有特定的要求,这使得他支持任何类型的高可用结点冗余配置,用户可以根据自身对业务的高可用级别要求和成本预算,部署适合自己的高可用集群,根据真实接入口的角色定位以及业务场景,常见的高可用集群模式有这么几种。
主备模式
主备模式也称Active/Passive模式,
这种模式下,后端的高可用结点运行一致的服务实例,正常情况下,VIP配置在主节点上,只有作为主的Active结点响应用户的请求,当主节点故障,
备用结点Passive自动接管一切,当主节点恢复后,通过自动或者手动方式,用户的请求重新有主节点来接管,整个过程用户感受不到任何影响。
这种模式下,高可用集群结点,通常部署一套完全相同的软件、并具备一套主备参数配置。
双主模式
双主模式也称Active/Active模式。
在这种模式下,后端的高可用结点运行各自的服务实例,都可以正常接收用户访问请求,当A结点故障,他会将访问请求自动转移到正常运行的B结点上,从而保证不对用户产生影响。
这种模式下的高可用集群结点,通常部署一套完全相同的软件、并具备两套主备参数配置
集群模式
集群模式也称N+M模式。
这种模式是基于主备或者双主模式效果,区别在于:
1 后端高扩展的集群中,备用结点很多
2 后端高扩展的集群中,高扩展所负载的服务有可能是多种不同的服务。
在这种模式下,当主节点故障时候,后备结点主机会通过某些策略,从中选择一个结点,作为临时主节点,接管所有请求。原来的主节点恢复的时候,通过多种策略来响应。
集群模式逐渐演变出了很多其他的模型:
N+1模型、N-to-1模型、N-to-N模型等
3、关键技术
为了实现高可用的效果,后端的高可用结点需要如下几种技术来保证:
时间同步
作为一个集群,他们彼此间进行信息通信的一个前提是,时间状态必须一致,如果出现一个主机在2018年,一个在2020年,这种情况下,集群的通信肯定会出现问题,甚至不会传输信息。
我们一般会采用时间协议,从一个专用的时间服务器上获取时间,从而保证同一个集群中的所有主机时间都是一致的,这个协议我们一般使用ntp协议。
心跳检测
对于高可用集群的各种模式来说,有一个关键的点就是:主节点故障了,从节点接管一切。这就涉及到了一种场景:高可用集群节点间需要知道彼此的状态,就类似于我们要知道一个人是否是活的,就看他有没有心跳。
所以我们需要通过一种专用的技术来时刻了解集群节点间的状态,我们一般称这种技术为"心跳检测",常见的软件有VRRP。
服务器租用托管,机房租用托管,主机租用托管,https://www.e1idc.com