
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
高可用架构开发是目前大多数软件开发程序员都在学习和使用的一种架构方式,而本文我们就通过案例分析来简单了解一下,高可用架构实现方法分享。
1、引言
计算高可用的本质是通过冗余来规避部分故障的风险,由于单台服务器无论如何都无法达到这个目的,因此计算高可用的设计思想很简单:通过增加更多服务器来达到计算高可用。
计算高可用的设计复杂度主要体现在任务管理,即当任务在某台服务器上执行失败后,如何将任务重新分配到新的服务器进行执行。因此有以下两个关键点。
哪些服务器可以执行任务
一种方式和计算高性能中的集群类似,每个服务器都可以执行任务。
二种方式和存储高可用中的集群类似,只有特定服务器(通常叫“主机”)可以执行任务。当执行任务的服务器故障后,系统需要挑选新的服务器来执行任务。
任务如何重新执行
一种策略是对于已经分配的任务即使执行失败也不做任何处理,系统只需要保证新的任务能够分配到其他非故障服务器上执行即可。
二种策略是设计一个任务管理器来管理需要执行的计算任务,服务器执行完任务后,需要向任务管理器反馈任务执行结果,任务管理器根据任务执行结果来决定是否需要将任务重新分配到另外的服务器上执行。
注:“任务管理器”是一个逻辑概念,并不一定要求存在一个独立的任务分配模块。
下面将介绍常见的计算高可用架构:主备、主从和集群
2、主备
主备架构师计算高可用简单的架构,和存储高可用的主备赋值架构类似,基本的架构如下:
主备方案的详细设计:
主机执行所有计算任务。
当主机故障(例如,主机宕机)时,任务分配器不会自动将计算任务发送给备机,此时系统处于不可用状态。
如果主机能够恢复(不管是人工恢复还是自动恢复),任务分配器继续将任务发送给主机。
如果主机不能够恢复(例如,机器硬盘损坏,短时间内无法恢复),则需要人工操作,将备机升为主机,然后让任务分配器将任务发送给新的主机(即原来的备机);同时,为了继续保持主备架构,需要人工增加新的机器作为备机。
根据备机状态,主备架构又可细分为冷备架构和温备架构
冷备:备机上程序包、配置文件等都准备好,但备机上的业务系统并没有启动,当主机故障后,需要人工将备机的业务系统启动,并将任务分配器的任务请求切换发送给备机。
温备:备机上的业务系统已经启动,只是不对外提供服务,主机故障后,人工只需要将任务分配器的任务请求切换发送到备机即可。冷备可以节省一定的能源,但温备能够大大减少手工操作时间,因此一般情况下推荐用温备的方式。
计算高可用的主备架构也比较适合与内部管理系统、后台管理系统这类使用人数不多、使用频率不高的业务,不太适合在线的业务。
3、主从
计算高可用的主从架构中的从机也是要执行任务的。任务分配器需要将任务进行分类,确定哪些任务可以发送给主机执行,哪些任务可以发送给备机执行。
主从方案详细设计:
正常情况下,主机执行部分计算任务(如图中的“计算任务A”),备机执行部分计算任务(如图中的“计算任务B”)。
当主机故障(例如,主机宕机)时,任务分配器不会自动将原本发送给主机的任务发送给从机,而是继续发送给主机,不管这些任务执行是否成功。
如果主机能够恢复(不管是人工恢复还是自动恢复),任务分配器继续按照原有的设计策略分配任务,即计算任务A发送给主机,计算任务B发送给从机。
如果主机不能够恢复(例如,机器硬盘损坏,短时间内无法恢复),则需要人工操作,将原来的从机升级为主机(一般只是修改配置即可),增加新的机器作为从机,新的从机准备就绪后,任务分配器继续按照原有的设计策略分配任务。
主从架构与主备架构相比,优缺点有:
优点:主从架构的从机也执行任务,发挥了从机的硬件性能。
缺点:主从架构需要将任务分类,任务分配器会复杂一些。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音达内三江区域学习了解。