集群是指执行相同服务的许多服务器的集合,在客户端看来只有一个服务器。集群可以使用多台计算机进行并行计算,达到很高的计算速度,也可以使用多台计算机进行备份,使得任何一台机器仍然可以正常运行。一旦在服务器上安装并运行了群集服务,服务器就可以加入群集。集群操作可以减少单点故障的数量,实现集群资源的高可用性。以下部分简要描述了集群创建和集群操作中节点的行为。
集群服务设计的目的是提高服务器的性能,同时可以及时转移障碍,提高服务器的可用性。因此,在集群服务器设计之初,必须充分考虑故障转移方案。当一个应用程序或服务安装在多个服务器上时,这些服务器可以在出现故障时接管彼此的工作,一个服务器接管故障服务器的工作的过程称为“故障转移”。如果一台服务器不可用,另一台或多台服务器将自动接管故障服务器的工作,并继续处理任务。集群中的每台服务器确定集群中的另一台服务器作为其备用服务器,这可以在集群服务程序中预先设置。
一、故障转移的原理:在设计服务器集群之前明确了以上考虑事项之后,我们就可以理解服务器集群故障转移的原理了。整个故障转移过程主要涉及以下几个方面。
1.同步状态:在集群服务系统中,在接管活动服务器的工作之前,备用服务器的状态应该与故障服务器的状态同步,然后事务才能开始。提问的方式主要有三种。
1)共享存储:在共享存储方式中,两台服务器都在共享存储设备(如存储区域网或双主机磁盘阵列)上记录自己的状态。这样,因为不需要状态同步,所以可以立即执行故障转移。这种同步方法还要求切换时间短,可用性高。
2)热备:在热备模式下,主用服务器内部状态的更新会立即复制到备用服务器。因为备用服务器的状态是活动服务器状态的克隆,所以备用服务器可以立即成为活动服务器,并开始处理第五件事情。显然,这种跨越模式需要更短的切换时间和更高的可用性。
3)事务日志:在事务日志方法中,活动服务器在日志中记录其状态的所有改变。同步实用程序定期处理该日志,以更新备用服务器的状态,使其与活动服务器的状态一致。当活动服务器出现故障时,备用服务器必须使用这个同步实用程序来处理自上次更新以来事务的每日状态的任何增加。同步后,备用服务器成为活动服务器,并开始处理事务。这种同步方式需要较长的切换时间,服务器应用需要较长的暂停时间。
2.扩展故障转移集群服务器:故障转移集群的可扩展性通常是通过扩展集群中的单个服务器或者为其增加更多的功能来实现的,所以这种集群系统的可扩展性非常有限。
3.故障检测:在充分考虑上述因素后,必须设计一个故障检测方案。要使备用服务器成为活动服务器,您必须尝试确定活动服务器是否不再正常工作。通常,系统使用以下一般类型的心跳机制之一来实现这一点。
A.发送信号:为了发送信号,活动服务器以定义的时间间隔向备用服务器发送指定的信号。如果备用服务器在特定时间间隔内没有接收到信号,则确定活动服务器发生故障并承担活动角色。例如,活动服务器每30秒向备用服务器发送一条状态消息。如果设置的备用服务器注意到它在90秒(3个时间间隔)内没有收到任何状态消息,它将接管活动服务器的工作。
B.接收信号:为了接收信号,备用服务器向活动服务器发送请求。如果活动服务器没有响应,备用服务器将重复请求一定的次数。如果Spring主动服务Jeep仍然不响,备用服务器将接管主动服务器的工作。例如,备用服务器可以每分钟向活动服务器发送一条消息,以获取客户详细信息。如果备用服务器发送“获取客户详细信息”请求三次,但没有收到响应,备用服务器将接管活动服务包的工作。
集群可以使用多级信号。例如,一个集群可以在服务器级别使用一个发送信号,在应用程序级别使用一组接收信号。在这种配置中,只要备用服务器启动并连接到网络,活动服务器就会向备用服务器发送心跳消息。这些心跳消息以频繁的间隔(例如,每个Ss)发送,并且备用服务器可以被编程为仅在没有接收到两个心跳消息时接管活动服务榕树的工作。也就是说,备用服务器将检测到故障,并在活动服务器出现故障后的10s内启动备用进程。
4.确定活动服务器:对于一组给定的应用程序,只有一个活动服务器是非常重要的。如果多个服务器像活动服务器一样,通常会导致数据损坏和死锁。解决这个问题的常见方法是使用“主动令牌”概念的变体。在最简单的层面上,令牌是一个标志,它将服务器标识为应用程序的活动服务器。每组应用程序只有一个活动令牌,因此只有一台服务器可以拥有该令牌。当服务器启动时,它会验证其伙伴是否有活动令牌。如果是,服务器将作为备用服务器启动。如果它没有检测到活动令牌,它将获得活动令牌的所有权,并作为活动服务器启动。当备用服务器成为活动服务器时,故障转移过程会将活动令牌交给备用服务器。
在大多数情况下,当备用服务器成为活动服务器时,它对它支持的应用程序或用户是透明的。如果在交易过程中出现问题,您可能需要重试交易以成功完成交易。这使得在编写程序代码时保持故障转移过程透明变得更加重要。
此外,大多数服务器使用IP地址进行通信。因此,为了成功进行故障转移,基础设施必须能够支持将JP地址从一台服务器转移到另一台服务器。例如,您可以使用支持IP地址传输的网络交换机(将故障机器的IP地址传输到接管服务器)。如果系统的基础结构不支持此传输功能,您可能需要使用负载平衡群集,而不是故障转移群集。
二。故障转移解决方案注意:集群服务器故障转移解决方案涉及许多重要方面。在设计集群服务器基础设施时,至少应该考虑以下因素。
1.添加硬件可能会增加解决方案的成本和复杂性。例如,需要为新硬件或更强大的硬件提供开发和测试费用,以便应用程序可以充分利用更强大的环填充。此外,管理更复杂的环境还需要增加维护和培训成本。2.用户希望这些应用程序可用,并在使用时做出响应。3.应用失败可能会造成严重的经济损失。4.不间断连续运行正日益成为一种常见的业务需求。5.应用基础设施中的所有系统都需要维护。每个系统都必须能够适应硬件和软件升级,而不会导致应用程序停止运行。例如,需要发布补丁来修复在提供应用程序的服务器上运行的组件的安全性。如果只有这个服务栏,应用程序将停止运行。如果该服务器是一系列服务器中的一个,则只有该服务器会停止运行,而应用程序不会停止运行。租用便宜的服务器,请咨询无忧云官网。
客服支持
微信咨询
售后