高可用系统部署方案

更新时间:2023-12-09 05:44:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

高可用性系统部署方案

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、部署两台服务器,配置如下:

配置参数 cpu 内存 硬盘 操作系统 IP 2 GB 465.8 GB 主机 2 GB 备机 AMD Athlon 64 X2, 2700 MHz AMD Athlon 64 X2, 2700 MHz 465.8 GB Windows 2003 (SP2) 企业版 Windows 2003 (SP2) 企业版 192.168.187.120 192.168.187.121

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分钟后,另外一台服务器的服务端显示收到的时间和函数名

本文来源:https://www.bwwdw.com/article/vmy5.html

Top