核心系统高可用性设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于系统稳定性策略的探讨
1.前言
系统作为业务系统的核心,其运行稳定性和高可用性至关重要。因此,需要通过高可用性设计来尽量减少系统的计划内和计划外停机,并在系统出现故障时及时响应、快速恢复,以保障关键数据和业务系统的运行稳定性和可持续访问性。其中:
1.计划内停机是指管理员有组织、有计划安排的停机,比如升级硬件微码、升
级软件版本、调整数据库库表、更换硬件设备、测试系统新功能等时,可能需要的停止系统运行。
2.计划外停机是指非人为安排的、意外的停机,比如当硬件出现重大故障、应
用程序停止运行、机房环境遭到灾难性的破坏时所引起的业务系统停止运行。
目前,对于计划内和计划外停机,可通过消除系统中的单点失效来尽量减少停机时间。同时,通过采用可在线维护(固件升级、在线扩充、故障部件更换)的设备,并通过负载均衡机制实现应用系统的在线升级、维护,将有效消除计划内停机对业务系统的影响。此外,由于系统中采用了全面的负载均衡设计,并针对系统失效提供了可靠的数据备份恢复和多点容灾保护,因而能够有效减少系统计划外停机的恢复时间。
在造成系统宕机的原因方面,有统计中表明并非都是硬件问题。其中,硬件问题只占40%,软件问题占30%,人为因素占20%,环境因素占10%。因此,高可用性设计应尽可能地考虑到上述所有因素。对于系统而言,其整体的可用性将取决于内部的应用系统、主机、数据库等多种因素;同时,训练有素的系统维护人员和良好的服务保障也是确保系统稳定运行和故障快速恢复的关键。
2.应用系统
系统在应用软件架构设计中应从渠道层、渠道管理层、业务处理层等不同
层面通过多种措施和策略的综合设计来提高应用系统的高可用性和稳定性。
在渠道管理层和业务处理层的设计中,要考虑设置应用负载均衡、应用软件失效备援、vip服务通道、流量控制、故障隔离等机制。
1.应用负载均衡
应用软件负载均衡通过多个层次上不同的负载均衡策略一起实现整体的负载均衡,应用负载均衡的设计思路是将大量的并发访问或数据流量分担到多台节点设备上分别处理和将单个重负载的运算分担到多台节点设备上做并行处理来达到负载均衡的效果,从而提高服务响应速度,提高服务器及其他资源的利用效率,避免服务请求集中于单一节点导致拥塞。
2.应用软件失效备援
应用软件构建在面向服务的架构、设计思想上,应用服务具有较高的可灵活部署性。通过这种灵活性,结合系统基础设施的规划、部署可以实现应用软件的失效备援。系统可以考虑实现基于应用服务和基于应用服务管理框架的多种应用软件失效备援机制。
基于应用服务的失效备援是在应用服务管理框架中可以实现应用服务的冗余部署,利用硬件负载均衡设备或应用软件负载均衡可以在需要时将服务请求切换到相应的冗余服务。
基于应用服务管理框架的失效备是将应用服务框架在系统中冗余部署,利用硬件负载均衡设备或应用软件负载均衡可以在需要时将服务请求切换到相应的冗余的应用服务管理框架。
3.vip服务通道
在系统中,从系统运行稳定性、持续性及处理性能的角度,配合物理设备、系统支撑软件(数据库系统、操作系统)的相关措施,应用软件可通过构建VIP服务通道的方式降低应用服务运行期间的相互影响。服务通道可以基于不同业务产品或不同应用服务管理框架的不同粒度来设置,从而满足部分应用处理资源只响应特定的服务请求或不同的服务监听响应不同的通道传递过来的服务申请的功能。
4.流量控制
在系统中,从系统运行稳定性、持续性角度,配合物理设备、系统支撑软
件(数据库系统、操作系统)的相关措施,应用软件可以通过对服务请求的流量控制机制,在系统性能波动较大时间段,对少部分影响程度高的交易进行流量控制,保障系统运行平稳运行。
流量控制是大集中系统体系结构中提供的通过应用软件对系统实施控制的功能。流量控制基于大集中系统逻辑架构,依据系统、子系统、渠道等不同层面的交易流量、交易状态和确定的控制策略、控制规则,对系统实施控制。应用系统具有如下功能:
a)流量数据采集:支持流量数据的采集功能。
b)流量值计算:完成对采集的流量数据进行计算,检索出有流量超过额定
量的服务或交易,为后续的流量控制提供依据。
c)交易流量控制:支持针对特定交易进行流量控制。如:针对网络流量大
的交易做控制,如报表文件传输;交易高峰期对批量业务进行流量控制。
d)渠道流量控制:支持按照渠道进行流量控制;
e)控制策略及规则管理:支持控制策略及规则的配置,修改等功能。
5.故障隔离
在系统中将考虑实现故障隔离机制,在应用软件系统发生故障的时候,通过故障隔离把故障造成的危害限制在最小范围内,提高系统提供对外服务的整体能力水平。
故障隔离是大集中系统体系结构中提供的通过应用软件对系统实施控制的功能,应用软件设计可考虑应用服务、应用服务框架的灵活部署,支持多角度,多层次的故障隔离。应用系统具有如下功能:
a)支持按渠道的故障隔离,例如:当POS渠道交易响应慢,可停止POS
渠道的对外服务功能。
b)支持按子系统的故障隔离,例如:当查询子系统出现异常时,可停止查
询子系统的对外服务功能。
c)支持异常服务的故障隔离,例如:若某服务出现异常(如服务CORE
DOWN),可停止此服务的对外服务功能。
d)支持按交易的故障隔离,例如:若某查询交易出现服务堵塞,可停止此
交易的对外服务功能。
在渠道层的设计中,可考虑采用网络负载均衡、vip服务通道等机制。
6.网络负载均衡
在柜面网点前置系统侧,可以考虑采用硬件负载均衡器对网点终端连接到网点前置的负载均衡,利用负载均衡器的连接状态检查和负载均衡策略可以灵活地调整终端的连接指向,屏蔽因网点前置机故障导致的终端操作异常,提高网点前置系统的可用性。
7.VIP服务通道
渠道层的VIP服务通道与业务处理层的VIP服务通道均针对提高系统的可用性,但是在建设方式上有所区别。渠道层的VIP服务通道不仅可以通过渠道层相关应用软件的服务通道设立来实现,还可以考虑通过设置物理上相互隔离的不同渠道通路来实现。
3.主机系统
主机系统作为各应用系统的运行平台,其可用性和稳定性是业务系统能够持续、稳定运行的前提。根据应用软件架构设计,每个子系统的功能通过硬件负载均衡机制部署于多套主机设备上,从而消除单台主机所引入的单点故障。
对于单台主机系统而言,其高可用性和运行稳定性可从以下几方面加以保障:
1.主机自身的高可靠性
主机采用高度冗余设计,可充分保障自身的运行可靠性,如:多处理器架构、冗余电源、冗余风扇、冗余时钟、冗余IO等;同时,主机采用多种容错技术,可有效提升自身的可靠性,如:内存与高速缓存上的检错与纠错(ECC)、内存双芯片备用、内存和处理器自动解除配置、用于监控系统状态的独立的服务处理器等。
2.主机关键部件全冗余配置
为确保主机运行的可靠性和稳定性,系统主机的所有关键部件均采用了冗余配置,以消除主机自身的单点故障,其中包括:
a)配置热插拔N+1或N+N冗余电源、风扇,避免电源或风扇失效造成的
硬件故障或宕机。