高可用系统部署方案

高可用性系统部署方案

2010年2月5日

1.1 概述

1.1.1 前言

在金融工程系统应用中,对服务器的安全性、可靠性要求较高,在服务器故障情况下,要求尽可能短的时间内恢复运行,并且能对故障发生时的数据进行恢复和处理,而能否实现这一功能是一个系统是否达到高可用性的主要指标。

高可用性可体现于应用系统和数据库存储两部分,应用系统部分重点是主备机达到故障自动切换,而数据存储部分注重数据的完整性、安全性和故障转移。

1.1.2 目前情况

股指套利、算法交易、交易网关等系统在使用上需要作整个架构部署的高可用性考虑,但目前只是部分或没有作整个系统的高可用性方案及实现。

1.1.3 参考文档

附件:SQL2005数据镜像方案测试报告_20100204.doc

1.2 高可用性需求

即要实现高可用性,又要控制成本投入,实施部署也要可操作性强是这次方案的主要目标,基于此目标,本方案对成本很高的共享磁盘阵列的故障转移群集和第三方商业故障系统不作为实现技术方案。 本方案解决的高可用性需求如下:

1、应用主服务器故障发生时,连接能够短时间内自动连接到备机继续工作。 2、数据库主服务器发生时,备机上要有完整的数据,并且连接到主数据库的连接会话能很快的重新连接到备机上继续工作

3、应用系统和数据库的服务器均能达到自动故障切换转移,以达到快速故障恢复的目的。

4、服务器数量尽可能少,成本投入不能太高。

1.3 解决方案

出于安全和可靠性考虑,建议数据库和应用系统部署在不同的服务器上,以减少性能上的彼此影响。以算法交易服务应用为例,在母单下得较多的时候会出现系统CPU 和内存上的较大消耗,如果再加上数据库的占用资源,很容易出现系统负载过重,故在方案中将应用系统与数据库分布在不同服务器,便于管理及提高整体性能。

1.3.1 高可用性部署方案图

以下是高可用方案图:

此方案由客户端、应用系统、数据三部分组成,共有5台服务器,客户端通过连接应用系统的虚拟IP 接入到应用系统的服务,应用系统的主、备可以实现互备,由群集决定当前连接是接入到哪一台,当主机发生故障时,2分钟左右可自动重连到备机;数据库部分使用镜像功能,应用系统在连接到数据库的连接串中就指定主、备IP ,当主机发生故障时数据库镜像故障转移会在1秒钟内自动转移到镜像服务器上。

以下章节分别详细作此方案图的解释。

1.3.2 应用系统部分

1、为提供给客户端一个唯一的虚拟IP ,应用系统主、备服务器部署时先在主服务器上运行系统负载平衡管理器,新建一个群集,指定一个虚拟IP ,然后把主、备两台电脑加入该群集中,这样客户端只要访问这个虚拟IP ,群集就可以让访问连接到两台服务器的其中一台。而当主机发生故障时,连接到主机的客户端,在2分钟后自动重连成功,只不过是连到了备机上了。 2、客户端软件只能连到虚拟IP 上,否则不能实现自动故障切换。

3、将应用系统分别部署在主、备服务器上,注意一定要是相同的系统版本和配置(服务端口要一样),然后在主、备服务器上启动应用系统。

图:群集服务的创建

1.3.3 数据镜像方案

由三台服务器组成自动故障转移的镜像解决策略。

应用系统的主、备服务器均在连接字符串中指定主数据库、镜像数据库服务器的IP ,当主数据库服务器故障发生时,会在1秒左右自动故障转移到镜像服务器上。

图:数据库镜像

详细说明请参考附件:SQL2005数据镜像方案测试报告_20100204.doc

1.4 方案测试

1.4.1 应用系统故障转移测试

1.4.1.1 测试环境部署 1、部署两台服务器,配置如下:

2、配置一个群集服务域名为www.luo.com ,指定一个群集IP :192.168.187.220 3、将两台服务器的IP :192.168.187.120、192.168.187.121加入到群集中。 4、开发一个C/S结构的程序,使用WCF 通讯,客户端上放一个按钮,每点一下就调用服务端的一个函数,服务端收到客户端的调用后将收到的时间和函数名显示在列表中。

5、将服务端程序分别在两台服务器上部署一套,设置相同的WCF 服务端口并分别启动运行。客户端使用上面的群集IP 进行连接到服务端。 6、点击客户端上的按钮进行测试。

1.4.1.2 测试结果

1、点击客户端程序上的按钮调用服务端的函数:其中一台服务器的服务端显示收到的时间和函数名在列表上。

2、多点几次:每次均能在同一台服务器的服务端显示收到的时间和函数名 3、将当前连接到的服务端机器重启,然后不断点客户端按钮:客户端显示连接错误;1分钟后,另外一台服务器的服务端显示收到的时间和函数名

4、再多点几次:每次均能在另外一台服务器的服务端显示收到的时间和函数名,之前重启的服务器没有连接。

5、将当前正连接客户端的服务器上的服务端测试软件关掉,看能不能切换到另一台服务器:客户端只显示连接错误,一直不见切换。 1.4.1.3 结果分析 从以上测试结果分析得出结论:

1、主服务器网络停止后能自动切换到备机。

2、软件本身停止,而操作系统的网络正常情况下不会发生切换。

1.4.2 数据库镜像测试

数据库镜像能用域环境或数据证书两种方式实现镜像功能。 详情请参考附件:SQL2005数据镜像方案测试报告_20100204.doc

1.5 方案优缺点

优点:

1、成本低,不用磁盘陈列和计算机集群。

2、应用系统和数据库服务器均能实现自动的故障转移。

3、应用系统可以根据业务量的需要,很容易的增加或减少服务器数量。 4、部署和维护技术相对简单。

5、对网络、服务器等硬件没有特殊要求。 缺点:

1、应用系统的虚拟IP 群集是基于操作系统网络层面,只有当网络不可访问或整个服务器停止时才会发生故障转移,如果应用系统软件本身停止则不会发生故障转移。

2、应用系统故障自动转移需要约2分钟以内(测试1分钟),相对数据库镜像1秒左右的时间稍长。

建议:

如果需要达到应用本身出现系统故障(应用故障)时自动故障转移,可参考数据镜像原理另外开发一套系统监控及故障裁决组件系统。

1.6 备选方案

1、在项目上线的初期,客户量相对较少,资源相对紧张的情况下,可用简约方案实现:

优点:

● 服务器投入少,成本降低。 缺点:

● 应用系统没有备机

● 主应用系统兼做数据库见证服务器,对用数字证书来部署镜像较麻烦,且容易出连接故障,故选择三台服务均部署在同一个域内比较好,只是域的部署麻烦一些。

2、在业务量不断增大的后期,利用方案可自由增加减少应用服务器的优点,根据需要增加应用系统服务器:

优点:

● 根据业务需要很容易的将应用系统服务器加入群集中,以实现负载平衡。 缺点:

● 服务器数量会增多

3、在大客户量、多应用系统共同组成服务时,为每个应用系统配置主、备服务器:

优点:

● 将例如算法服务与网关等系统分别组成不同的群集服务,实现负载均衡。 ● 提高应用服务器服务的性能。 缺点:

● 服务器数量会增多,成本加大。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn